<!DOCTYPE html>



































































































<html>
<head>


<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width" />

<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" />
<title>R.attr | Android Developers</title>

<!-- STYLESHEETS -->
<link rel="stylesheet"
href="//fonts.googleapis.com/css?family=Roboto+Condensed">
<link rel="stylesheet" href="//fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
  title="roboto">
<link href="/assets/css/default.css?v=5" rel="stylesheet" type="text/css">



<!-- JAVASCRIPT -->
<script src="//www.google.com/jsapi" type="text/javascript"></script>
<script src="/assets/js/android_3p-bundle.js" type="text/javascript"></script>
<script type="text/javascript">
  var toRoot = "/";
  var metaTags = [];
  var devsite = false;
</script>
<script src="/assets/js/docs.js?v=3" type="text/javascript"></script>



<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-5831155-1', 'android.com');
  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
  ga('send', 'pageview');
  ga('universal.send', 'pageview'); // Send page view for new tracker.
</script>

</head>

<body class="gc-documentation google
  develop reference" itemscope itemtype="http://schema.org/Article">
  <div id="doc-api-level" class="" style="display:none"></div>
  <a name="top"></a>


<a name="top"></a>

<!-- dialog to prompt lang pref change when loaded from hardcoded URL 
<div id="langMessage" style="display:none">
  <div>
    <div class="lang en">
      <p>You requested a page in English, would you like to proceed with this language setting?</p>
    </div>
    <div class="lang es">
      <p>You requested a page in Spanish (Español), would you like to proceed with this language setting?</p>
    </div>
    <div class="lang ja">
      <p>You requested a page in Japanese (日本語), would you like to proceed with this language setting?</p>
    </div>
    <div class="lang ko">
      <p>You requested a page in Korean (한국어), would you like to proceed with this language setting?</p>
    </div>
    <div class="lang ru">
      <p>You requested a page in Russian (Русский), would you like to proceed with this language setting?</p>
    </div>
    <div class="lang zh-cn">
      <p>You requested a page in Simplified Chinese (简体中文), would you like to proceed with this language setting?</p>
    </div>
    <div class="lang zh-tw">
      <p>You requested a page in Traditional Chinese (繁體中文), would you like to proceed with this language setting?</p>
    </div>
    <a href="#" class="button yes" onclick="return false;">
      <span class="lang en">Yes</span>
      <span class="lang es">Sí</span>
      <span class="lang ja">Yes</span>
      <span class="lang ko">Yes</span>
      <span class="lang ru">Yes</span>
      <span class="lang zh-cn">是的</span>
      <span class="lang zh-tw">没有</span>
    </a>
    <a href="#" class="button" onclick="$('#langMessage').hide();return false;">
      <span class="lang en">No</span>
      <span class="lang es">No</span>
      <span class="lang ja">No</span>
      <span class="lang ko">No</span>
      <span class="lang ru">No</span>
      <span class="lang zh-cn">没有</span>
      <span class="lang zh-tw">没有</span>
    </a>
  </div>
</div> -->


  <!-- Header -->
  <div id="header-wrapper">
    <div id="header">

    


      <div class="wrap" id="header-wrap">
        <div class="col-3 logo">
          <a href="/index.html">
            <img src="/assets/images/dac_logo.png"
                srcset="/assets/images/dac_logo@2x.png 2x"
                width="123" height="25" alt="Android Developers" />
          </a>
          <div class="btn-quicknav" id="btn-quicknav">
            <a href="#" class="arrow-inactive">Quicknav</a>
            <a href="#" class="arrow-active">Quicknav</a>
          </div>
        </div>
        <ul class="nav-x col-9">
            <li class="design">
              <a href="/design/index.html"
              zh-tw-lang="設計"
              zh-cn-lang="设计"
              ru-lang="Проектирование"
              ko-lang="디자인"
              ja-lang="設計"
              es-lang="Diseñar"
              >Design</a></li>
            <li class="develop"><a href="/develop/index.html"
              zh-tw-lang="開發"
              zh-cn-lang="开发"
              ru-lang="Разработка"
              ko-lang="개발"
              ja-lang="開発"
              es-lang="Desarrollar"
              >Develop</a></li>
            <li class="distribute last"><a href="/distribute/index.html"
              zh-tw-lang="發佈"
              zh-cn-lang="分发"
              ru-lang="Распространение"
              ko-lang="배포"
              ja-lang="配布"
              es-lang="Distribuir"
              >Distribute</a></li>
        </ul>


        
        
<div class="menu-container">
  <div class="moremenu">
    <div id="more-btn"></div>
  </div>
  <div class="morehover" id="moremenu">
    <div class="top"></div>
    <div class="mid">
      <div class="header">Links</div>
      <ul>
        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
        <li><a href="/about/index.html">About Android</a></li>
      </ul>
      <div class="header">Android Sites</div>
      <ul>
        <li><a href="http://www.android.com">Android.com</a></li>
        <li class="active"><a>Android Developers</a></li>
        <li><a href="http://source.android.com">Android Open Source Project</a></li>
      </ul>

      
      
        <div class="header">Language</div>
          <div id="language" class="locales">
            <select name="language" onChange="changeLangPref(this.value, true)">
                <option value="en">English</option>
                <option value="es">Español</option>
                <option value="ja">日本語</option>
                <option value="ko">한국어</option>
                <option value="ru">Русский</option>
                <option value="zh-cn">中文（简体)</option>
                <option value="zh-tw">中文（繁體)</option>
            </select>
          </div>
        <script type="text/javascript">
          <!--
          loadLangPref();
            //-->
        </script>
      
      
      <br class="clearfix" />
    </div><!-- end 'mid' -->
    <div class="bottom"></div>
  </div><!-- end 'moremenu' -->

  <div class="search" id="search-container">
    <div class="search-inner">
      <div id="search-btn"></div>
      <div class="left"></div>
      <form onsubmit="return submit_search()">
        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
          onkeydown="return search_changed(event, true, '/')"
          onkeyup="return search_changed(event, false, '/')" />
      </form>
      <div class="right"></div>
      <a class="close hide">close</a>
      <div class="left"></div>
      <div class="right"></div>
    </div><!-- end search-inner -->
  </div><!-- end search-container -->

  <div class="search_filtered_wrapper reference">
    <div class="suggest-card reference no-display">
      <ul class="search_filtered">
      </ul>
    </div>
  </div>

  <div class="search_filtered_wrapper docs">
    <div class="suggest-card dummy no-display">&nbsp;</div>
    <div class="suggest-card develop no-display">
      <ul class="search_filtered">
      </ul>
      <div class="child-card guides no-display">
      </div>
      <div class="child-card training no-display">
      </div>
      <div class="child-card samples no-display">
      </div>
    </div>
    <div class="suggest-card design no-display">
      <ul class="search_filtered">
      </ul>
    </div>
    <div class="suggest-card distribute no-display">
      <ul class="search_filtered">
      </ul>
    </div>
  </div>
</div><!-- end menu-container (search and menu widget) -->



        <!-- Expanded quicknav -->
        <div id="quicknav" class="col-13">
          <ul>
            <li class="about">
              <ul>
                <li><a href="/about/index.html">About</a></li>
                <li><a href="/wear/index.html">Wear</a></li>
                <li><a href="/tv/index.html">TV</a></li>
                <li><a href="/auto/index.html">Auto</a></li>
              </ul>
            </li>
            <li class="design">
              <ul>
                <li><a href="/design/index.html">Get Started</a></li>
                <li><a href="/design/devices.html">Devices</a></li>
                <li><a href="/design/style/index.html">Style</a></li>
                <li><a href="/design/patterns/index.html">Patterns</a></li>
                <li><a href="/design/building-blocks/index.html">Building Blocks</a></li>
                <li><a href="/design/downloads/index.html">Downloads</a></li>
                <li><a href="/design/videos/index.html">Videos</a></li>
              </ul>
            </li>
            <li class="develop">
              <ul>
                <li><a href="/training/index.html"
                  zh-tw-lang="訓練課程"
                  zh-cn-lang="培训"
                  ru-lang="Курсы"
                  ko-lang="교육"
                  ja-lang="トレーニング"
                  es-lang="Capacitación"
                  >Training</a></li>
                <li><a href="/guide/index.html"
                  zh-tw-lang="API 指南"
                  zh-cn-lang="API 指南"
                  ru-lang="Руководства по API"
                  ko-lang="API 가이드"
                  ja-lang="API ガイド"
                  es-lang="Guías de la API"
                  >API Guides</a></li>
                <li><a href="/reference/packages.html"
                  zh-tw-lang="參考資源"
                  zh-cn-lang="参考"
                  ru-lang="Справочник"
                  ko-lang="참조문서"
                  ja-lang="リファレンス"
                  es-lang="Referencia"
                  >Reference</a></li>
                <li><a href="/sdk/index.html"
                  zh-tw-lang="相關工具"
                  zh-cn-lang="工具"
                  ru-lang="Инструменты"
                  ko-lang="도구"
                  ja-lang="ツール"
                  es-lang="Herramientas"
                  >Tools</a>
                </li>
                <li><a href="/google/index.html">Google Services</a>
                </li>
                
                  <li><a href="/samples/index.html">Samples</a>
                  </li>
                
              </ul>
            </li>
            <li class="distribute last">
              <ul>
                <li><a href="/distribute/googleplay/index.html">Google Play</a></li>
                <li><a href="/distribute/essentials/index.html">Essentials</a></li>
                <li><a href="/distribute/users/index.html">Get Users</a></li>
                <li><a href="/distribute/engage/index.html">Engage &amp; Retain</a></li>
                <li><a href="/distribute/monetize/index.html">Monetize</a></li>
                <li><a href="/distribute/analyze/index.html">Analyze</a></li>
                <li><a href="/distribute/tools/index.html">Tools &amp; Reference</a></li>
                <li><a href="/distribute/stories/index.html">Developer Stories</a></li>
              </ul>
            </li>
          </ul>
        </div><!-- /Expanded quicknav -->
      </div><!-- end header-wrap.wrap -->
    </div><!-- end header -->

  
    <!-- Secondary x-nav -->
    <div id="nav-x">
        <div class="wrap" style="position:relative;z-index:1">

        
        
        

            <ul class="nav-x col-9 develop" style="width:100%">
                <li class="training"><a href="/training/index.html"
                  zh-tw-lang="訓練課程"
                  zh-cn-lang="培训"
                  ru-lang="Курсы"
                  ko-lang="교육"
                  ja-lang="トレーニング"
                  es-lang="Capacitación"
                  >Training</a></li>
                <li class="guide"><a href="/guide/index.html"
                  zh-tw-lang="API 指南"
                  zh-cn-lang="API 指南"
                  ru-lang="Руководства по API"
                  ko-lang="API 가이드"
                  ja-lang="API ガイド"
                  es-lang="Guías de la API"
                  >API Guides</a></li>
                <li class="reference"><a href="/reference/packages.html"
                  zh-tw-lang="參考資源"
                  zh-cn-lang="参考"
                  ru-lang="Справочник"
                  ko-lang="참조문서"
                  ja-lang="リファレンス"
                  es-lang="Referencia"
                  >Reference</a></li>
                <li class="tools"><a href="/sdk/index.html"
                  zh-tw-lang="相關工具"
                  zh-cn-lang="工具"
                  ru-lang="Инструменты"
                  ko-lang="도구"
                  ja-lang="ツール"
                  es-lang="Herramientas"
                  >Tools</a></li>
                <li class="google"><a href="/google/index.html"
                  >Google Services</a>
                </li>
                
                  <li class="samples"><a href="/samples/index.html"
                    >Samples</a>
                  </li>
                
            </ul>
        </div>
    </div>
    <!-- /Sendondary x-nav DEVELOP -->

  

    <div id="searchResults" class="wrap" style="display:none;">
      <h2 id="searchTitle">Results</h2>
      <div id="leftSearchControl" class="search-control">Loading...</div>
    </div>
  </div> <!--end header-wrapper -->

  <div id="sticky-header">
    <div>
      <a class="logo" href="#top"></a>
      <a class="top" href="#top"></a>
      <ul class="breadcrumb">
        
        <li class="current">R.attr</li>
      </ul>
    </div>
  </div>





  
  <div class="wrap clearfix" id="body-content">
    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
      <div id="devdoc-nav" class="scroll-pane">



<ul id="nav">

  <li class="nav-section">
    <div class="nav-section-header empty"><a href="/google/index.html">
          <span class="en">Overview</span>
      </a></div>
  </li>

  <li class="nav-section">
    <div class="nav-section-header empty"><a href="/google/play-services/games.html">
          <span class="en">Games</span>
      </a></div>
  </li>
  <li class="nav-section">
    <div class="nav-section-header empty"><a href="/google/play-services/location.html">
          <span class="en">Location</span>
      </a></div>
  </li>
  <li class="nav-section">
    <div class="nav-section-header empty"><a href="/google/play-services/plus.html">
          <span class="en">Google+</span>
                </a></div>
  </li>
  <li class="nav-section">
    <div class="nav-section-header empty"><a href="/google/play-services/maps.html">
          <span class="en">Maps</span>
      </a></div>
  </li>
  <li class="nav-section">
    <div class="nav-section-header empty"><a href="/google/play-services/drive.html">
          <span class="en">Drive</span>
      </a></div>
  </li>
  <li class="nav-section">
    <div class="nav-section-header empty"><a href="/google/play-services/cast.html">
          <span class="en">Cast</span>
      </a></div>
  </li>
  <li class="nav-section">
    <div class="nav-section-header"><a href="/google/play-services/ads.html">
      <span class="en">Ads</span></a>
    </div>
    <ul>
      <li><a href="/google/play-services/id.html">
          <span class="en">Advertising ID</span></a>
      </li>
    </ul>
  </li>
  <li class="nav-section">
    <div class="nav-section-header empty"><a href="/google/play-services/wallet.html">
          <span class="en">Wallet</span>
      </a></div>
  </li>
  <li class="nav-section">
    <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
          <span class="en">SafetyNet</span>
      </a></div>
      <ul>
        <li>
          <a href="/google/play/safetynet/start.html">
            <span class="en">Getting Started</span>
          </a>
        </li>
      </ul>
  </li>

  <li class="nav-section">
    <div class="nav-section-header"><a href="/google/play-services/index.html">
      <span class="en">Google Play Services</span></a>
    </div>
    <ul>
      <li><a href="/google/play-services/setup.html">
          <span class="en">Setting Up Google Play Services</span></a>
      </li>
      <li class="nav-section">
        <div class="nav-section-header"><a href="/google/auth/api-client.html">
          <span class="en">Accessing Google APIs</span></a>
        </div>
        <ul>
          <li>
            <a href="/google/auth/http-auth.html">
              <span class="en">Authorizing with Google for REST APIs</span>
            </a>
          </li>
        </ul>
      </li>
      <li id="gms-tree-list" class="nav-section">
        <div class="nav-section-header">
          <a href="/reference/gms-packages.html">
            <span class="en">Reference</span>
          </a>
        <div>
      </li>
    </ul>
  </li>


  <li class="nav-section">
    <div class="nav-section-header"><a href="/google/play/billing/index.html" zh-cn-lang="应用内结算">
      <span class="en">Google Play In-app Billing</span></a>
    </div>
    <ul>
      <li><a href="/google/play/billing/billing_overview.html" zh-cn-lang="应用内结算概述">
              <span class="en">Overview</span></a>
      </li>
      <li class="nav-section"><div class="nav-section-header"><a href="/google/play/billing/api.html" zh-cn-lang="应用内结算 API">
              <span class="en">Version 3 API</span></a></div>
              <ul>
              <li><a href="/google/play/billing/billing_integrate.html">
              <span class="en">Implementing the API</span></a></li>
              <li><a href="/google/play/billing/billing_reference.html">
              <span class="en">Reference</span></a></li>
              </ul>
      </li>
      <li class="nav-section"><div class="nav-section-header"><a href="/google/play/billing/v2/api.html">
              <span class="en">Version 2 API</span></a></div>
              <ul>
              <li><a href="/google/play/billing/v2/billing_integrate.html">
              <span class="en">Implementing the API</span></a></li>
              <li><a href="/google/play/billing/v2/billing_subscriptions.html">
              <span class="en">Subscriptions</span></a></li>
              <li><a href="/google/play/billing/v2/billing_reference.html">
              <span class="en">Reference</span></a></li>
              </ul>
      </li>
      <li><a href="/google/play/billing/billing_subscriptions.html">
              <span class="en">Subscriptions</span></a>
      </li>
      <li><a href="/google/play/billing/billing_best_practices.html" zh-cn-lang="安全性和设计">
              <span class="en">Security and Design</span></a>
      </li>
      <li><a href="/google/play/billing/billing_testing.html" zh-cn-lang="测试应用内结算">
              <span class="en">Testing In-app Billing</span></a>
      </li>
      <li><a href="/google/play/billing/billing_admin.html" zh-cn-lang="管理应用内结算">
              <span class="en">Administering In-app Billing</span></a>
      </li>
      <li><a href="/google/play/billing/versions.html">
              <span class="en">Version Notes</span></a>
      </li>
    </ul>
  </li>



   <li class="nav-section">
      <div class="nav-section-header"><a href="/google/gcm/index.html">
        <span class="en">Google Cloud Messaging</span></a>
      </div>
      <ul>
        <li><a href="/google/gcm/gcm.html">
            <span class="en">Overview</span></a>
        </li>
        <li><a href="/google/gcm/gs.html">
            <span class="en">Getting Started</span></a>
        </li>
        <li><a href="/google/gcm/client.html">
            <span class="en">Implementing GCM Client</span></a>
        </li>
        <li class="nav-section"><div class="nav-section-header"><a href="/google/gcm/server.html">
              <span class="en">Implementing GCM Server</span></a></div>
              <ul>
              <li><a href="/google/gcm/ccs.html">
              <span class="en">CCS (XMPP)</span></a></li>
              <li><a href="/google/gcm/http.html">
              <span class="en">HTTP</span></a></li>
              </ul>
        </li>
        <li><a href="/google/gcm/server-ref.html">
            <span class="en">Server Reference</span></a>
        </li>
        <li><a href="/google/gcm/notifications.html">
              <span class="en">User Notifications</span></a>
        </li>
        <li><a href="/google/gcm/c2dm.html">
            <span class="en">Migration</span></a>
        </li>
      </ul>
  </li>

  <li class="nav-section">
  <div class="nav-section-header empty"><a href="/google/gcs/index.html">
        <span class="en">Google Cloud Save</span></a>
      </div>
  </li>

  <li class="nav-section">
    <div class="nav-section-header"><a href="/google/play/dist.html">
      <span class="en">Google Play Distribution</span></a>
    </div>
    <ul>
      <li><a href="/google/play/filters.html">
          <span class="en">Filters on Google Play</span></a>
      </li>
      <li><a href="/google/play/billing/gp-purchase-status-api.html">
              <span class="en">Google Play Developer API</span></a>
      </li>
      <li><a href="/google/play/publishing/multiple-apks.html">
          <span class="en">Multiple APK Support</span></a>
      </li>
      <li><a href="/google/play/expansion-files.html">
          <span class="en">APK Expansion Files</span></a>
      </li>
      <li class="nav-section">
        <div class="nav-section-header"><a href="/google/play/licensing/index.html">
          <span class="en">Application Licensing</span></a>
        </div>
        <ul>
          <li><a href="/google/play/licensing/overview.html">
              <span class="en">Licensing Overview</span></a>
          </li>
          <li><a href="/google/play/licensing/setting-up.html">
              <span class="en">Setting Up for Licensing</span></a>
          </li>
          <li><a href="/google/play/licensing/adding-licensing.html">
              <span class="en">Adding Licensing to Your App</span></a>
          </li>
          <li><a href="/google/play/licensing/licensing-reference.html">
              <span class="en">Licensing Reference</span></a>
          </li>
        </ul>
      </li>

  <li class="nav-section">
    <div class="nav-section-header"><a href="/google/backup/index.html">
      Android Backup Service</a>
    </div>
    <ul>
      <li><a href="/google/backup/signup.html">
          Register</a>
      </li>
    </ul>
  </li>

  </ul>

</li>



</ul>

<script type="text/javascript">
<!--
    buildToggleLists();
    changeNavLang(getLangPref());
//-->
</script>


        

      </div>
      <script type="text/javascript">
       showGoogleRefTree();
    
      </script>
    </div> <!-- end side-nav -->
    <script>
      $(document).ready(function() {
        scrollIntoView("devdoc-nav");
        });
    </script>


     



<div class="col-12"  id="doc-col">

<div id="api-info-block">



  
   
  
  
  
  


<div class="sum-details-links">

Summary:







  <a href="#lfields">Fields</a>
  



  &#124; <a href="#pubctors">Ctors</a>
  





  &#124; <a href="#inhmethods">Inherited Methods</a>

&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>

</div><!-- end sum-details-links -->
<div class="api-level">
  
  
  

</div>
</div><!-- end api-info-block -->


<!-- ======== START OF CLASS DATA ======== -->

<div id="jd-header">
    public
    static 
    final 
    
    class
<h1 itemprop="name">R.attr</h1>



  
    extends Object<br/>
  
  
  

  
  
  


    


</div><!-- end header -->

<div id="naMessage"></div>

<div id="jd-content" class="api apilevel-">
<table class="jd-inheritance-table">


    <tr>
         	
        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
    </tr>
    

    <tr>
        
            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
         	
        <td colspan="1" class="jd-inheritance-class-cell">com.google.android.gms.R.attr</td>
    </tr>
    

</table>







<div class="jd-descr">






</div><!-- jd-descr -->
















<div class="jd-descr">


<h2>Summary</h2>


















<!-- =========== FIELD SUMMARY =========== -->
<table id="lfields" class="jd-sumtable"><tr><th colspan="12">Fields</th></tr>


    
      <tr class="alt-color api apilevel-" >
          <td class="jd-typecol"><nobr>
          public
          static
          
          int</nobr></td>
          <td class="jd-linkcol"><a href="/reference/com/google/android/gms/R.attr.html#adSize">adSize</a></td>
          <td class="jd-descrcol" width="100%">
            <p>Must be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character.
            
    

          </td>
      </tr>
      
    
      <tr class=" api apilevel-" >
          <td class="jd-typecol"><nobr>
          public
          static
          
          int</nobr></td>
          <td class="jd-linkcol"><a href="/reference/com/google/android/gms/R.attr.html#adSizes">adSizes</a></td>
          <td class="jd-descrcol" width="100%">
            <p>Must be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character.
            
    

          </td>
      </tr>
      
    
      <tr class="alt-color api apilevel-" >
          <td class="jd-typecol"><nobr>
          public
          static
          
          int</nobr></td>
          <td class="jd-linkcol"><a href="/reference/com/google/android/gms/R.attr.html#adUnitId">adUnitId</a></td>
          <td class="jd-descrcol" width="100%">
            <p>Must be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character.
            
    

          </td>
      </tr>
      
    
      <tr class=" api apilevel-" >
          <td class="jd-typecol"><nobr>
          public
          static
          
          int</nobr></td>
          <td class="jd-linkcol"><a href="/reference/com/google/android/gms/R.attr.html#appTheme">appTheme</a></td>
          <td class="jd-descrcol" width="100%">
            <p>Must be one of the following constant values.
            
    

          </td>
      </tr>
      
    
      <tr class="alt-color api apilevel-" >
          <td class="jd-typecol"><nobr>
          public
          static
          
          int</nobr></td>
          <td class="jd-linkcol"><a href="/reference/com/google/android/gms/R.attr.html#buyButtonAppearance">buyButtonAppearance</a></td>
          <td class="jd-descrcol" width="100%">
            <p>Must be one of the following constant values.
            
    

          </td>
      </tr>
      
    
      <tr class=" api apilevel-" >
          <td class="jd-typecol"><nobr>
          public
          static
          
          int</nobr></td>
          <td class="jd-linkcol"><a href="/reference/com/google/android/gms/R.attr.html#buyButtonHeight">buyButtonHeight</a></td>
          <td class="jd-descrcol" width="100%">
            <p>May be a dimension value, which is a floating point number appended with a unit such as "<code>14.5sp</code>".
            
    

          </td>
      </tr>
      
    
      <tr class="alt-color api apilevel-" >
          <td class="jd-typecol"><nobr>
          public
          static
          
          int</nobr></td>
          <td class="jd-linkcol"><a href="/reference/com/google/android/gms/R.attr.html#buyButtonText">buyButtonText</a></td>
          <td class="jd-descrcol" width="100%">
            <p>Must be one of the following constant values.
            
    

          </td>
      </tr>
      
    
      <tr class=" api apilevel-" >
          <td class="jd-typecol"><nobr>
          public
          static
          
          int</nobr></td>
          <td class="jd-linkcol"><a href="/reference/com/google/android/gms/R.attr.html#buyButtonWidth">buyButtonWidth</a></td>
          <td class="jd-descrcol" width="100%">
            <p>May be a dimension value, which is a floating point number appended with a unit such as "<code>14.5sp</code>".
            
    

          </td>
      </tr>
      
    
      <tr class="alt-color api apilevel-" >
          <td class="jd-typecol"><nobr>
          public
          static
          
          int</nobr></td>
          <td class="jd-linkcol"><a href="/reference/com/google/android/gms/R.attr.html#cameraBearing">cameraBearing</a></td>
          <td class="jd-descrcol" width="100%">
            <p>Must be a floating point value, such as "<code>1.2</code>".
            
    

          </td>
      </tr>
      
    
      <tr class=" api apilevel-" >
          <td class="jd-typecol"><nobr>
          public
          static
          
          int</nobr></td>
          <td class="jd-linkcol"><a href="/reference/com/google/android/gms/R.attr.html#cameraTargetLat">cameraTargetLat</a></td>
          <td class="jd-descrcol" width="100%">
            <p>Must be a floating point value, such as "<code>1.2</code>".
            
    

          </td>
      </tr>
      
    
      <tr class="alt-color api apilevel-" >
          <td class="jd-typecol"><nobr>
          public
          static
          
          int</nobr></td>
          <td class="jd-linkcol"><a href="/reference/com/google/android/gms/R.attr.html#cameraTargetLng">cameraTargetLng</a></td>
          <td class="jd-descrcol" width="100%">
            <p>Must be a floating point value, such as "<code>1.2</code>".
            
    

          </td>
      </tr>
      
    
      <tr class=" api apilevel-" >
          <td class="jd-typecol"><nobr>
          public
          static
          
          int</nobr></td>
          <td class="jd-linkcol"><a href="/reference/com/google/android/gms/R.attr.html#cameraTilt">cameraTilt</a></td>
          <td class="jd-descrcol" width="100%">
            <p>Must be a floating point value, such as "<code>1.2</code>".
            
    

          </td>
      </tr>
      
    
      <tr class="alt-color api apilevel-" >
          <td class="jd-typecol"><nobr>
          public
          static
          
          int</nobr></td>
          <td class="jd-linkcol"><a href="/reference/com/google/android/gms/R.attr.html#cameraZoom">cameraZoom</a></td>
          <td class="jd-descrcol" width="100%">
            <p>Must be a floating point value, such as "<code>1.2</code>".
            
    

          </td>
      </tr>
      
    
      <tr class=" api apilevel-" >
          <td class="jd-typecol"><nobr>
          public
          static
          
          int</nobr></td>
          <td class="jd-linkcol"><a href="/reference/com/google/android/gms/R.attr.html#circleCrop">circleCrop</a></td>
          <td class="jd-descrcol" width="100%">
            <p>Must be a boolean value, either "<code>true</code>" or "<code>false</code>".
            
    

          </td>
      </tr>
      
    
      <tr class="alt-color api apilevel-" >
          <td class="jd-typecol"><nobr>
          public
          static
          
          int</nobr></td>
          <td class="jd-linkcol"><a href="/reference/com/google/android/gms/R.attr.html#environment">environment</a></td>
          <td class="jd-descrcol" width="100%">
            <p>Must be one of the following constant values.
            
    

          </td>
      </tr>
      
    
      <tr class=" api apilevel-" >
          <td class="jd-typecol"><nobr>
          public
          static
          
          int</nobr></td>
          <td class="jd-linkcol"><a href="/reference/com/google/android/gms/R.attr.html#fragmentMode">fragmentMode</a></td>
          <td class="jd-descrcol" width="100%">
            <p>Must be one of the following constant values.
            
    

          </td>
      </tr>
      
    
      <tr class="alt-color api apilevel-" >
          <td class="jd-typecol"><nobr>
          public
          static
          
          int</nobr></td>
          <td class="jd-linkcol"><a href="/reference/com/google/android/gms/R.attr.html#fragmentStyle">fragmentStyle</a></td>
          <td class="jd-descrcol" width="100%">
            <p>Must be a reference to another resource, in the form "<code>@[+][<i>package</i>:]<i>type</i>:<i>name</i></code>"
or to a theme attribute in the form "<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>".
            
    

          </td>
      </tr>
      
    
      <tr class=" api apilevel-" >
          <td class="jd-typecol"><nobr>
          public
          static
          
          int</nobr></td>
          <td class="jd-linkcol"><a href="/reference/com/google/android/gms/R.attr.html#imageAspectRatio">imageAspectRatio</a></td>
          <td class="jd-descrcol" width="100%">
            <p>Must be a floating point value, such as "<code>1.2</code>".
            
    

          </td>
      </tr>
      
    
      <tr class="alt-color api apilevel-" >
          <td class="jd-typecol"><nobr>
          public
          static
          
          int</nobr></td>
          <td class="jd-linkcol"><a href="/reference/com/google/android/gms/R.attr.html#imageAspectRatioAdjust">imageAspectRatioAdjust</a></td>
          <td class="jd-descrcol" width="100%">
            <p>Must be one of the following constant values.
            
    

          </td>
      </tr>
      
    
      <tr class=" api apilevel-" >
          <td class="jd-typecol"><nobr>
          public
          static
          
          int</nobr></td>
          <td class="jd-linkcol"><a href="/reference/com/google/android/gms/R.attr.html#liteMode">liteMode</a></td>
          <td class="jd-descrcol" width="100%">
            <p>Must be a boolean value, either "<code>true</code>" or "<code>false</code>".
            
    

          </td>
      </tr>
      
    
      <tr class="alt-color api apilevel-" >
          <td class="jd-typecol"><nobr>
          public
          static
          
          int</nobr></td>
          <td class="jd-linkcol"><a href="/reference/com/google/android/gms/R.attr.html#mapType">mapType</a></td>
          <td class="jd-descrcol" width="100%">
            <p>Must be one of the following constant values.
            
    

          </td>
      </tr>
      
    
      <tr class=" api apilevel-" >
          <td class="jd-typecol"><nobr>
          public
          static
          
          int</nobr></td>
          <td class="jd-linkcol"><a href="/reference/com/google/android/gms/R.attr.html#maskedWalletDetailsBackground">maskedWalletDetailsBackground</a></td>
          <td class="jd-descrcol" width="100%">
            <p>May be a reference to another resource, in the form "<code>@[+][<i>package</i>:]<i>type</i>:<i>name</i></code>"
or to a theme attribute in the form "<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>".
            
    

          </td>
      </tr>
      
    
      <tr class="alt-color api apilevel-" >
          <td class="jd-typecol"><nobr>
          public
          static
          
          int</nobr></td>
          <td class="jd-linkcol"><a href="/reference/com/google/android/gms/R.attr.html#maskedWalletDetailsButtonBackground">maskedWalletDetailsButtonBackground</a></td>
          <td class="jd-descrcol" width="100%">
            <p>May be a reference to another resource, in the form "<code>@[+][<i>package</i>:]<i>type</i>:<i>name</i></code>"
or to a theme attribute in the form "<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>".
            
    

          </td>
      </tr>
      
    
      <tr class=" api apilevel-" >
          <td class="jd-typecol"><nobr>
          public
          static
          
          int</nobr></td>
          <td class="jd-linkcol"><a href="/reference/com/google/android/gms/R.attr.html#maskedWalletDetailsButtonTextAppearance">maskedWalletDetailsButtonTextAppearance</a></td>
          <td class="jd-descrcol" width="100%">
            <p>Must be a reference to another resource, in the form "<code>@[+][<i>package</i>:]<i>type</i>:<i>name</i></code>"
or to a theme attribute in the form "<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>".
            
    

          </td>
      </tr>
      
    
      <tr class="alt-color api apilevel-" >
          <td class="jd-typecol"><nobr>
          public
          static
          
          int</nobr></td>
          <td class="jd-linkcol"><a href="/reference/com/google/android/gms/R.attr.html#maskedWalletDetailsHeaderTextAppearance">maskedWalletDetailsHeaderTextAppearance</a></td>
          <td class="jd-descrcol" width="100%">
            <p>Must be a reference to another resource, in the form "<code>@[+][<i>package</i>:]<i>type</i>:<i>name</i></code>"
or to a theme attribute in the form "<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>".
            
    

          </td>
      </tr>
      
    
      <tr class=" api apilevel-" >
          <td class="jd-typecol"><nobr>
          public
          static
          
          int</nobr></td>
          <td class="jd-linkcol"><a href="/reference/com/google/android/gms/R.attr.html#maskedWalletDetailsLogoImageType">maskedWalletDetailsLogoImageType</a></td>
          <td class="jd-descrcol" width="100%">
            <p>Must be one of the following constant values.
            
    

          </td>
      </tr>
      
    
      <tr class="alt-color api apilevel-" >
          <td class="jd-typecol"><nobr>
          public
          static
          
          int</nobr></td>
          <td class="jd-linkcol"><a href="/reference/com/google/android/gms/R.attr.html#maskedWalletDetailsLogoTextColor">maskedWalletDetailsLogoTextColor</a></td>
          <td class="jd-descrcol" width="100%">
            <p>Must be a color value, in the form of "<code>#<i>rgb</i></code>", "<code>#<i>argb</i></code>",
"<code>#<i>rrggbb</i></code>", or "<code>#<i>aarrggbb</i></code>".
            
    

          </td>
      </tr>
      
    
      <tr class=" api apilevel-" >
          <td class="jd-typecol"><nobr>
          public
          static
          
          int</nobr></td>
          <td class="jd-linkcol"><a href="/reference/com/google/android/gms/R.attr.html#maskedWalletDetailsTextAppearance">maskedWalletDetailsTextAppearance</a></td>
          <td class="jd-descrcol" width="100%">
            <p>Must be a reference to another resource, in the form "<code>@[+][<i>package</i>:]<i>type</i>:<i>name</i></code>"
or to a theme attribute in the form "<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>".
            
    

          </td>
      </tr>
      
    
      <tr class="alt-color api apilevel-" >
          <td class="jd-typecol"><nobr>
          public
          static
          
          int</nobr></td>
          <td class="jd-linkcol"><a href="/reference/com/google/android/gms/R.attr.html#uiCompass">uiCompass</a></td>
          <td class="jd-descrcol" width="100%">
            <p>Must be a boolean value, either "<code>true</code>" or "<code>false</code>".
            
    

          </td>
      </tr>
      
    
      <tr class=" api apilevel-" >
          <td class="jd-typecol"><nobr>
          public
          static
          
          int</nobr></td>
          <td class="jd-linkcol"><a href="/reference/com/google/android/gms/R.attr.html#uiMapToolbar">uiMapToolbar</a></td>
          <td class="jd-descrcol" width="100%">
            <p>Must be a boolean value, either "<code>true</code>" or "<code>false</code>".
            
    

          </td>
      </tr>
      
    
      <tr class="alt-color api apilevel-" >
          <td class="jd-typecol"><nobr>
          public
          static
          
          int</nobr></td>
          <td class="jd-linkcol"><a href="/reference/com/google/android/gms/R.attr.html#uiRotateGestures">uiRotateGestures</a></td>
          <td class="jd-descrcol" width="100%">
            <p>Must be a boolean value, either "<code>true</code>" or "<code>false</code>".
            
    

          </td>
      </tr>
      
    
      <tr class=" api apilevel-" >
          <td class="jd-typecol"><nobr>
          public
          static
          
          int</nobr></td>
          <td class="jd-linkcol"><a href="/reference/com/google/android/gms/R.attr.html#uiScrollGestures">uiScrollGestures</a></td>
          <td class="jd-descrcol" width="100%">
            <p>Must be a boolean value, either "<code>true</code>" or "<code>false</code>".
            
    

          </td>
      </tr>
      
    
      <tr class="alt-color api apilevel-" >
          <td class="jd-typecol"><nobr>
          public
          static
          
          int</nobr></td>
          <td class="jd-linkcol"><a href="/reference/com/google/android/gms/R.attr.html#uiTiltGestures">uiTiltGestures</a></td>
          <td class="jd-descrcol" width="100%">
            <p>Must be a boolean value, either "<code>true</code>" or "<code>false</code>".
            
    

          </td>
      </tr>
      
    
      <tr class=" api apilevel-" >
          <td class="jd-typecol"><nobr>
          public
          static
          
          int</nobr></td>
          <td class="jd-linkcol"><a href="/reference/com/google/android/gms/R.attr.html#uiZoomControls">uiZoomControls</a></td>
          <td class="jd-descrcol" width="100%">
            <p>Must be a boolean value, either "<code>true</code>" or "<code>false</code>".
            
    

          </td>
      </tr>
      
    
      <tr class="alt-color api apilevel-" >
          <td class="jd-typecol"><nobr>
          public
          static
          
          int</nobr></td>
          <td class="jd-linkcol"><a href="/reference/com/google/android/gms/R.attr.html#uiZoomGestures">uiZoomGestures</a></td>
          <td class="jd-descrcol" width="100%">
            <p>Must be a boolean value, either "<code>true</code>" or "<code>false</code>".
            
    

          </td>
      </tr>
      
    
      <tr class=" api apilevel-" >
          <td class="jd-typecol"><nobr>
          public
          static
          
          int</nobr></td>
          <td class="jd-linkcol"><a href="/reference/com/google/android/gms/R.attr.html#useViewLifecycle">useViewLifecycle</a></td>
          <td class="jd-descrcol" width="100%">
            <p>Must be a boolean value, either "<code>true</code>" or "<code>false</code>".
            
    

          </td>
      </tr>
      
    
      <tr class="alt-color api apilevel-" >
          <td class="jd-typecol"><nobr>
          public
          static
          
          int</nobr></td>
          <td class="jd-linkcol"><a href="/reference/com/google/android/gms/R.attr.html#windowTransitionStyle">windowTransitionStyle</a></td>
          <td class="jd-descrcol" width="100%">
            <p>Must be one of the following constant values.
            
    

          </td>
      </tr>
      
    
      <tr class=" api apilevel-" >
          <td class="jd-typecol"><nobr>
          public
          static
          
          int</nobr></td>
          <td class="jd-linkcol"><a href="/reference/com/google/android/gms/R.attr.html#zOrderOnTop">zOrderOnTop</a></td>
          <td class="jd-descrcol" width="100%">
            <p>Must be a boolean value, either "<code>true</code>" or "<code>false</code>".
            
    

          </td>
      </tr>
      
    

</table>







<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<table id="pubctors" class="jd-sumtable"><tr><th colspan="12">Public Constructors</th></tr>



	 
    <tr class="alt-color api apilevel-" >
        <td class="jd-typecol"><nobr>
            
            
            
            
            
            </nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad"><a href="/reference/com/google/android/gms/R.attr.html#R.attr()">R.attr</a></span>()</nobr>
        
  </td></tr>



</table>











<!-- ========== METHOD SUMMARY =========== -->
<table id="inhmethods" class="jd-sumtable"><tr><th>
  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
  <div style="clear:left;">Inherited Methods</div></th></tr>


<tr class="api apilevel-" >
<td colspan="12">
  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
          ><img id="inherited-methods-java.lang.Object-trigger"
          src="/assets/images/triangle-closed.png"
          class="jd-expando-trigger-img" /></a>
From class

  java.lang.Object

<div id="inherited-methods-java.lang.Object">
  <div id="inherited-methods-java.lang.Object-list"
        class="jd-inheritedlinks">
  </div>
  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
    <table class="jd-sumtable-expando">
    


	 
    <tr class="alt-color api apilevel-" >
        <td class="jd-typecol"><nobr>
            
            
            
            
            
            Object</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad">clone</span>()</nobr>
        
  </td></tr>


	 
    <tr class=" api apilevel-" >
        <td class="jd-typecol"><nobr>
            
            
            
            
            
            boolean</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad">equals</span>(Object arg0)</nobr>
        
  </td></tr>


	 
    <tr class="alt-color api apilevel-" >
        <td class="jd-typecol"><nobr>
            
            
            
            
            
            void</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad">finalize</span>()</nobr>
        
  </td></tr>


	 
    <tr class=" api apilevel-" >
        <td class="jd-typecol"><nobr>
            
            
            final
            
            
            Class&lt;?&gt;</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad">getClass</span>()</nobr>
        
  </td></tr>


	 
    <tr class="alt-color api apilevel-" >
        <td class="jd-typecol"><nobr>
            
            
            
            
            
            int</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad">hashCode</span>()</nobr>
        
  </td></tr>


	 
    <tr class=" api apilevel-" >
        <td class="jd-typecol"><nobr>
            
            
            final
            
            
            void</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad">notify</span>()</nobr>
        
  </td></tr>


	 
    <tr class="alt-color api apilevel-" >
        <td class="jd-typecol"><nobr>
            
            
            final
            
            
            void</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad">notifyAll</span>()</nobr>
        
  </td></tr>


	 
    <tr class=" api apilevel-" >
        <td class="jd-typecol"><nobr>
            
            
            
            
            
            String</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad">toString</span>()</nobr>
        
  </td></tr>


	 
    <tr class="alt-color api apilevel-" >
        <td class="jd-typecol"><nobr>
            
            
            final
            
            
            void</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad">wait</span>()</nobr>
        
  </td></tr>


	 
    <tr class=" api apilevel-" >
        <td class="jd-typecol"><nobr>
            
            
            final
            
            
            void</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
        
  </td></tr>


	 
    <tr class="alt-color api apilevel-" >
        <td class="jd-typecol"><nobr>
            
            
            final
            
            
            void</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad">wait</span>(long arg0)</nobr>
        
  </td></tr>


</table>
  </div>
</div>
</td></tr>


</table>


</div><!-- jd-descr (summary) -->

<!-- Details -->








<!-- XML Attributes -->


<!-- Enum Values -->


<!-- Constants -->


<!-- Fields -->


<!-- ========= FIELD DETAIL ======== -->
<h2>Fields</h2>




<A NAME="adSize"></A>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
        static 
         
        int
      </span>
        adSize
    </h4>
      <div class="api-level">
        
        
  

      </div>
    <div class="jd-details-descr">
      
    

      
  <div class="jd-tagdata jd-tagdescr"><p><p>Must be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character.
<p>This may also be a reference to a resource (in the form
"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>") or
theme attribute (in the form
"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>")
containing a value of this type.
</p></div>

    
    </div>
</div>



<A NAME="adSizes"></A>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
        static 
         
        int
      </span>
        adSizes
    </h4>
      <div class="api-level">
        
        
  

      </div>
    <div class="jd-details-descr">
      
    

      
  <div class="jd-tagdata jd-tagdescr"><p><p>Must be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character.
<p>This may also be a reference to a resource (in the form
"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>") or
theme attribute (in the form
"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>")
containing a value of this type.
</p></div>

    
    </div>
</div>



<A NAME="adUnitId"></A>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
        static 
         
        int
      </span>
        adUnitId
    </h4>
      <div class="api-level">
        
        
  

      </div>
    <div class="jd-details-descr">
      
    

      
  <div class="jd-tagdata jd-tagdescr"><p><p>Must be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character.
<p>This may also be a reference to a resource (in the form
"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>") or
theme attribute (in the form
"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>")
containing a value of this type.
</p></div>

    
    </div>
</div>



<A NAME="appTheme"></A>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
        static 
         
        int
      </span>
        appTheme
    </h4>
      <div class="api-level">
        
        
  

      </div>
    <div class="jd-details-descr">
      
    

      
  <div class="jd-tagdata jd-tagdescr"><p><p>Must be one of the following constant values.</p>
<table>
<colgroup align="left" />
<colgroup align="left" />
<colgroup align="left" />
<tr><th>Constant</th><th>Value</th><th>Description</th></tr>
<tr><td><code>holo_dark</code></td><td>0</td><td></td></tr>
<tr><td><code>holo_light</code></td><td>1</td><td></td></tr>
</table>
</p></div>

    
    </div>
</div>



<A NAME="buyButtonAppearance"></A>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
        static 
         
        int
      </span>
        buyButtonAppearance
    </h4>
      <div class="api-level">
        
        
  

      </div>
    <div class="jd-details-descr">
      
    

      
  <div class="jd-tagdata jd-tagdescr"><p><p>Must be one of the following constant values.</p>
<table>
<colgroup align="left" />
<colgroup align="left" />
<colgroup align="left" />
<tr><th>Constant</th><th>Value</th><th>Description</th></tr>
<tr><td><code>classic</code></td><td>1</td><td></td></tr>
<tr><td><code>grayscale</code></td><td>2</td><td></td></tr>
<tr><td><code>monochrome</code></td><td>3</td><td></td></tr>
</table>
</p></div>

    
    </div>
</div>



<A NAME="buyButtonHeight"></A>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
        static 
         
        int
      </span>
        buyButtonHeight
    </h4>
      <div class="api-level">
        
        
  

      </div>
    <div class="jd-details-descr">
      
    

      
  <div class="jd-tagdata jd-tagdescr"><p><p>May be a dimension value, which is a floating point number appended with a unit such as "<code>14.5sp</code>".
Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
in (inches), mm (millimeters).
<p>This may also be a reference to a resource (in the form
"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>") or
theme attribute (in the form
"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>")
containing a value of this type.
<p>May be one of the following constant values.</p>
<table>
<colgroup align="left" />
<colgroup align="left" />
<colgroup align="left" />
<tr><th>Constant</th><th>Value</th><th>Description</th></tr>
<tr><td><code>match_parent</code></td><td>-1</td><td></td></tr>
<tr><td><code>wrap_content</code></td><td>-2</td><td></td></tr>
</table>
</p></div>

    
    </div>
</div>



<A NAME="buyButtonText"></A>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
        static 
         
        int
      </span>
        buyButtonText
    </h4>
      <div class="api-level">
        
        
  

      </div>
    <div class="jd-details-descr">
      
    

      
  <div class="jd-tagdata jd-tagdescr"><p><p>Must be one of the following constant values.</p>
<table>
<colgroup align="left" />
<colgroup align="left" />
<colgroup align="left" />
<tr><th>Constant</th><th>Value</th><th>Description</th></tr>
<tr><td><code>buy_with_google</code></td><td>1</td><td></td></tr>
<tr><td><code>buy_now</code></td><td>2</td><td></td></tr>
<tr><td><code>book_now</code></td><td>3</td><td></td></tr>
<tr><td><code>donate_with_google</code></td><td>4</td><td></td></tr>
</table>
</p></div>

    
    </div>
</div>



<A NAME="buyButtonWidth"></A>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
        static 
         
        int
      </span>
        buyButtonWidth
    </h4>
      <div class="api-level">
        
        
  

      </div>
    <div class="jd-details-descr">
      
    

      
  <div class="jd-tagdata jd-tagdescr"><p><p>May be a dimension value, which is a floating point number appended with a unit such as "<code>14.5sp</code>".
Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
in (inches), mm (millimeters).
<p>This may also be a reference to a resource (in the form
"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>") or
theme attribute (in the form
"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>")
containing a value of this type.
<p>May be one of the following constant values.</p>
<table>
<colgroup align="left" />
<colgroup align="left" />
<colgroup align="left" />
<tr><th>Constant</th><th>Value</th><th>Description</th></tr>
<tr><td><code>match_parent</code></td><td>-1</td><td></td></tr>
<tr><td><code>wrap_content</code></td><td>-2</td><td></td></tr>
</table>
</p></div>

    
    </div>
</div>



<A NAME="cameraBearing"></A>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
        static 
         
        int
      </span>
        cameraBearing
    </h4>
      <div class="api-level">
        
        
  

      </div>
    <div class="jd-details-descr">
      
    

      
  <div class="jd-tagdata jd-tagdescr"><p><p>Must be a floating point value, such as "<code>1.2</code>".
<p>This may also be a reference to a resource (in the form
"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>") or
theme attribute (in the form
"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>")
containing a value of this type.
</p></div>

    
    </div>
</div>



<A NAME="cameraTargetLat"></A>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
        static 
         
        int
      </span>
        cameraTargetLat
    </h4>
      <div class="api-level">
        
        
  

      </div>
    <div class="jd-details-descr">
      
    

      
  <div class="jd-tagdata jd-tagdescr"><p><p>Must be a floating point value, such as "<code>1.2</code>".
<p>This may also be a reference to a resource (in the form
"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>") or
theme attribute (in the form
"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>")
containing a value of this type.
</p></div>

    
    </div>
</div>



<A NAME="cameraTargetLng"></A>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
        static 
         
        int
      </span>
        cameraTargetLng
    </h4>
      <div class="api-level">
        
        
  

      </div>
    <div class="jd-details-descr">
      
    

      
  <div class="jd-tagdata jd-tagdescr"><p><p>Must be a floating point value, such as "<code>1.2</code>".
<p>This may also be a reference to a resource (in the form
"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>") or
theme attribute (in the form
"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>")
containing a value of this type.
</p></div>

    
    </div>
</div>



<A NAME="cameraTilt"></A>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
        static 
         
        int
      </span>
        cameraTilt
    </h4>
      <div class="api-level">
        
        
  

      </div>
    <div class="jd-details-descr">
      
    

      
  <div class="jd-tagdata jd-tagdescr"><p><p>Must be a floating point value, such as "<code>1.2</code>".
<p>This may also be a reference to a resource (in the form
"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>") or
theme attribute (in the form
"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>")
containing a value of this type.
</p></div>

    
    </div>
</div>



<A NAME="cameraZoom"></A>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
        static 
         
        int
      </span>
        cameraZoom
    </h4>
      <div class="api-level">
        
        
  

      </div>
    <div class="jd-details-descr">
      
    

      
  <div class="jd-tagdata jd-tagdescr"><p><p>Must be a floating point value, such as "<code>1.2</code>".
<p>This may also be a reference to a resource (in the form
"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>") or
theme attribute (in the form
"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>")
containing a value of this type.
</p></div>

    
    </div>
</div>



<A NAME="circleCrop"></A>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
        static 
         
        int
      </span>
        circleCrop
    </h4>
      <div class="api-level">
        
        
  

      </div>
    <div class="jd-details-descr">
      
    

      
  <div class="jd-tagdata jd-tagdescr"><p><p>Must be a boolean value, either "<code>true</code>" or "<code>false</code>".
<p>This may also be a reference to a resource (in the form
"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>") or
theme attribute (in the form
"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>")
containing a value of this type.
</p></div>

    
    </div>
</div>



<A NAME="environment"></A>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
        static 
         
        int
      </span>
        environment
    </h4>
      <div class="api-level">
        
        
  

      </div>
    <div class="jd-details-descr">
      
    

      
  <div class="jd-tagdata jd-tagdescr"><p><p>Must be one of the following constant values.</p>
<table>
<colgroup align="left" />
<colgroup align="left" />
<colgroup align="left" />
<tr><th>Constant</th><th>Value</th><th>Description</th></tr>
<tr><td><code>production</code></td><td>1</td><td></td></tr>
<tr><td><code>sandbox</code></td><td>0</td><td></td></tr>
<tr><td><code>strict_sandbox</code></td><td>2</td><td></td></tr>
</table>
</p></div>

    
    </div>
</div>



<A NAME="fragmentMode"></A>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
        static 
         
        int
      </span>
        fragmentMode
    </h4>
      <div class="api-level">
        
        
  

      </div>
    <div class="jd-details-descr">
      
    

      
  <div class="jd-tagdata jd-tagdescr"><p><p>Must be one of the following constant values.</p>
<table>
<colgroup align="left" />
<colgroup align="left" />
<colgroup align="left" />
<tr><th>Constant</th><th>Value</th><th>Description</th></tr>
<tr><td><code>buyButton</code></td><td>1</td><td></td></tr>
<tr><td><code>selectionDetails</code></td><td>2</td><td></td></tr>
</table>
</p></div>

    
    </div>
</div>



<A NAME="fragmentStyle"></A>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
        static 
         
        int
      </span>
        fragmentStyle
    </h4>
      <div class="api-level">
        
        
  

      </div>
    <div class="jd-details-descr">
      
    

      
  <div class="jd-tagdata jd-tagdescr"><p><p>Must be a reference to another resource, in the form "<code>@[+][<i>package</i>:]<i>type</i>:<i>name</i></code>"
or to a theme attribute in the form "<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>".
</p></div>

    
    </div>
</div>



<A NAME="imageAspectRatio"></A>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
        static 
         
        int
      </span>
        imageAspectRatio
    </h4>
      <div class="api-level">
        
        
  

      </div>
    <div class="jd-details-descr">
      
    

      
  <div class="jd-tagdata jd-tagdescr"><p><p>Must be a floating point value, such as "<code>1.2</code>".
<p>This may also be a reference to a resource (in the form
"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>") or
theme attribute (in the form
"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>")
containing a value of this type.
</p></div>

    
    </div>
</div>



<A NAME="imageAspectRatioAdjust"></A>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
        static 
         
        int
      </span>
        imageAspectRatioAdjust
    </h4>
      <div class="api-level">
        
        
  

      </div>
    <div class="jd-details-descr">
      
    

      
  <div class="jd-tagdata jd-tagdescr"><p><p>Must be one of the following constant values.</p>
<table>
<colgroup align="left" />
<colgroup align="left" />
<colgroup align="left" />
<tr><th>Constant</th><th>Value</th><th>Description</th></tr>
<tr><td><code>none</code></td><td>0</td><td></td></tr>
<tr><td><code>adjust_width</code></td><td>1</td><td></td></tr>
<tr><td><code>adjust_height</code></td><td>2</td><td></td></tr>
</table>
</p></div>

    
    </div>
</div>



<A NAME="liteMode"></A>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
        static 
         
        int
      </span>
        liteMode
    </h4>
      <div class="api-level">
        
        
  

      </div>
    <div class="jd-details-descr">
      
    

      
  <div class="jd-tagdata jd-tagdescr"><p><p>Must be a boolean value, either "<code>true</code>" or "<code>false</code>".
<p>This may also be a reference to a resource (in the form
"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>") or
theme attribute (in the form
"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>")
containing a value of this type.
</p></div>

    
    </div>
</div>



<A NAME="mapType"></A>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
        static 
         
        int
      </span>
        mapType
    </h4>
      <div class="api-level">
        
        
  

      </div>
    <div class="jd-details-descr">
      
    

      
  <div class="jd-tagdata jd-tagdescr"><p><p>Must be one of the following constant values.</p>
<table>
<colgroup align="left" />
<colgroup align="left" />
<colgroup align="left" />
<tr><th>Constant</th><th>Value</th><th>Description</th></tr>
<tr><td><code>none</code></td><td>0</td><td></td></tr>
<tr><td><code>normal</code></td><td>1</td><td></td></tr>
<tr><td><code>satellite</code></td><td>2</td><td></td></tr>
<tr><td><code>terrain</code></td><td>3</td><td></td></tr>
<tr><td><code>hybrid</code></td><td>4</td><td></td></tr>
</table>
</p></div>

    
    </div>
</div>



<A NAME="maskedWalletDetailsBackground"></A>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
        static 
         
        int
      </span>
        maskedWalletDetailsBackground
    </h4>
      <div class="api-level">
        
        
  

      </div>
    <div class="jd-details-descr">
      
    

      
  <div class="jd-tagdata jd-tagdescr"><p><p>May be a reference to another resource, in the form "<code>@[+][<i>package</i>:]<i>type</i>:<i>name</i></code>"
or to a theme attribute in the form "<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>".
<p>May be a color value, in the form of "<code>#<i>rgb</i></code>", "<code>#<i>argb</i></code>",
"<code>#<i>rrggbb</i></code>", or "<code>#<i>aarrggbb</i></code>".
</p></div>

    
    </div>
</div>



<A NAME="maskedWalletDetailsButtonBackground"></A>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
        static 
         
        int
      </span>
        maskedWalletDetailsButtonBackground
    </h4>
      <div class="api-level">
        
        
  

      </div>
    <div class="jd-details-descr">
      
    

      
  <div class="jd-tagdata jd-tagdescr"><p><p>May be a reference to another resource, in the form "<code>@[+][<i>package</i>:]<i>type</i>:<i>name</i></code>"
or to a theme attribute in the form "<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>".
<p>May be a color value, in the form of "<code>#<i>rgb</i></code>", "<code>#<i>argb</i></code>",
"<code>#<i>rrggbb</i></code>", or "<code>#<i>aarrggbb</i></code>".
</p></div>

    
    </div>
</div>



<A NAME="maskedWalletDetailsButtonTextAppearance"></A>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
        static 
         
        int
      </span>
        maskedWalletDetailsButtonTextAppearance
    </h4>
      <div class="api-level">
        
        
  

      </div>
    <div class="jd-details-descr">
      
    

      
  <div class="jd-tagdata jd-tagdescr"><p><p>Must be a reference to another resource, in the form "<code>@[+][<i>package</i>:]<i>type</i>:<i>name</i></code>"
or to a theme attribute in the form "<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>".
</p></div>

    
    </div>
</div>



<A NAME="maskedWalletDetailsHeaderTextAppearance"></A>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
        static 
         
        int
      </span>
        maskedWalletDetailsHeaderTextAppearance
    </h4>
      <div class="api-level">
        
        
  

      </div>
    <div class="jd-details-descr">
      
    

      
  <div class="jd-tagdata jd-tagdescr"><p><p>Must be a reference to another resource, in the form "<code>@[+][<i>package</i>:]<i>type</i>:<i>name</i></code>"
or to a theme attribute in the form "<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>".
</p></div>

    
    </div>
</div>



<A NAME="maskedWalletDetailsLogoImageType"></A>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
        static 
         
        int
      </span>
        maskedWalletDetailsLogoImageType
    </h4>
      <div class="api-level">
        
        
  

      </div>
    <div class="jd-details-descr">
      
    

      
  <div class="jd-tagdata jd-tagdescr"><p><p>Must be one of the following constant values.</p>
<table>
<colgroup align="left" />
<colgroup align="left" />
<colgroup align="left" />
<tr><th>Constant</th><th>Value</th><th>Description</th></tr>
<tr><td><code>classic</code></td><td>1</td><td></td></tr>
<tr><td><code>monochrome</code></td><td>2</td><td></td></tr>
</table>
</p></div>

    
    </div>
</div>



<A NAME="maskedWalletDetailsLogoTextColor"></A>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
        static 
         
        int
      </span>
        maskedWalletDetailsLogoTextColor
    </h4>
      <div class="api-level">
        
        
  

      </div>
    <div class="jd-details-descr">
      
    

      
  <div class="jd-tagdata jd-tagdescr"><p><p>Must be a color value, in the form of "<code>#<i>rgb</i></code>", "<code>#<i>argb</i></code>",
"<code>#<i>rrggbb</i></code>", or "<code>#<i>aarrggbb</i></code>".
<p>This may also be a reference to a resource (in the form
"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>") or
theme attribute (in the form
"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>")
containing a value of this type.
</p></div>

    
    </div>
</div>



<A NAME="maskedWalletDetailsTextAppearance"></A>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
        static 
         
        int
      </span>
        maskedWalletDetailsTextAppearance
    </h4>
      <div class="api-level">
        
        
  

      </div>
    <div class="jd-details-descr">
      
    

      
  <div class="jd-tagdata jd-tagdescr"><p><p>Must be a reference to another resource, in the form "<code>@[+][<i>package</i>:]<i>type</i>:<i>name</i></code>"
or to a theme attribute in the form "<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>".
</p></div>

    
    </div>
</div>



<A NAME="uiCompass"></A>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
        static 
         
        int
      </span>
        uiCompass
    </h4>
      <div class="api-level">
        
        
  

      </div>
    <div class="jd-details-descr">
      
    

      
  <div class="jd-tagdata jd-tagdescr"><p><p>Must be a boolean value, either "<code>true</code>" or "<code>false</code>".
<p>This may also be a reference to a resource (in the form
"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>") or
theme attribute (in the form
"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>")
containing a value of this type.
</p></div>

    
    </div>
</div>



<A NAME="uiMapToolbar"></A>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
        static 
         
        int
      </span>
        uiMapToolbar
    </h4>
      <div class="api-level">
        
        
  

      </div>
    <div class="jd-details-descr">
      
    

      
  <div class="jd-tagdata jd-tagdescr"><p><p>Must be a boolean value, either "<code>true</code>" or "<code>false</code>".
<p>This may also be a reference to a resource (in the form
"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>") or
theme attribute (in the form
"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>")
containing a value of this type.
</p></div>

    
    </div>
</div>



<A NAME="uiRotateGestures"></A>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
        static 
         
        int
      </span>
        uiRotateGestures
    </h4>
      <div class="api-level">
        
        
  

      </div>
    <div class="jd-details-descr">
      
    

      
  <div class="jd-tagdata jd-tagdescr"><p><p>Must be a boolean value, either "<code>true</code>" or "<code>false</code>".
<p>This may also be a reference to a resource (in the form
"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>") or
theme attribute (in the form
"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>")
containing a value of this type.
</p></div>

    
    </div>
</div>



<A NAME="uiScrollGestures"></A>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
        static 
         
        int
      </span>
        uiScrollGestures
    </h4>
      <div class="api-level">
        
        
  

      </div>
    <div class="jd-details-descr">
      
    

      
  <div class="jd-tagdata jd-tagdescr"><p><p>Must be a boolean value, either "<code>true</code>" or "<code>false</code>".
<p>This may also be a reference to a resource (in the form
"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>") or
theme attribute (in the form
"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>")
containing a value of this type.
</p></div>

    
    </div>
</div>



<A NAME="uiTiltGestures"></A>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
        static 
         
        int
      </span>
        uiTiltGestures
    </h4>
      <div class="api-level">
        
        
  

      </div>
    <div class="jd-details-descr">
      
    

      
  <div class="jd-tagdata jd-tagdescr"><p><p>Must be a boolean value, either "<code>true</code>" or "<code>false</code>".
<p>This may also be a reference to a resource (in the form
"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>") or
theme attribute (in the form
"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>")
containing a value of this type.
</p></div>

    
    </div>
</div>



<A NAME="uiZoomControls"></A>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
        static 
         
        int
      </span>
        uiZoomControls
    </h4>
      <div class="api-level">
        
        
  

      </div>
    <div class="jd-details-descr">
      
    

      
  <div class="jd-tagdata jd-tagdescr"><p><p>Must be a boolean value, either "<code>true</code>" or "<code>false</code>".
<p>This may also be a reference to a resource (in the form
"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>") or
theme attribute (in the form
"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>")
containing a value of this type.
</p></div>

    
    </div>
</div>



<A NAME="uiZoomGestures"></A>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
        static 
         
        int
      </span>
        uiZoomGestures
    </h4>
      <div class="api-level">
        
        
  

      </div>
    <div class="jd-details-descr">
      
    

      
  <div class="jd-tagdata jd-tagdescr"><p><p>Must be a boolean value, either "<code>true</code>" or "<code>false</code>".
<p>This may also be a reference to a resource (in the form
"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>") or
theme attribute (in the form
"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>")
containing a value of this type.
</p></div>

    
    </div>
</div>



<A NAME="useViewLifecycle"></A>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
        static 
         
        int
      </span>
        useViewLifecycle
    </h4>
      <div class="api-level">
        
        
  

      </div>
    <div class="jd-details-descr">
      
    

      
  <div class="jd-tagdata jd-tagdescr"><p><p>Must be a boolean value, either "<code>true</code>" or "<code>false</code>".
<p>This may also be a reference to a resource (in the form
"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>") or
theme attribute (in the form
"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>")
containing a value of this type.
</p></div>

    
    </div>
</div>



<A NAME="windowTransitionStyle"></A>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
        static 
         
        int
      </span>
        windowTransitionStyle
    </h4>
      <div class="api-level">
        
        
  

      </div>
    <div class="jd-details-descr">
      
    

      
  <div class="jd-tagdata jd-tagdescr"><p><p>Must be one of the following constant values.</p>
<table>
<colgroup align="left" />
<colgroup align="left" />
<colgroup align="left" />
<tr><th>Constant</th><th>Value</th><th>Description</th></tr>
<tr><td><code>slide</code></td><td>1</td><td></td></tr>
<tr><td><code>none</code></td><td>2</td><td></td></tr>
</table>
</p></div>

    
    </div>
</div>



<A NAME="zOrderOnTop"></A>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
        static 
         
        int
      </span>
        zOrderOnTop
    </h4>
      <div class="api-level">
        
        
  

      </div>
    <div class="jd-details-descr">
      
    

      
  <div class="jd-tagdata jd-tagdescr"><p><p>Must be a boolean value, either "<code>true</code>" or "<code>false</code>".
<p>This may also be a reference to a resource (in the form
"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>") or
theme attribute (in the form
"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>")
containing a value of this type.
</p></div>

    
    </div>
</div>




<!-- Public ctors -->


<!-- ========= CONSTRUCTOR DETAIL ======== -->
<h2>Public Constructors</h2>



<A NAME="R.attr()"></A>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
         
         
         
         
        
      </span>
      <span class="sympad">R.attr</span>
      <span class="normal">()</span>
    </h4>
      <div class="api-level">
        <div></div>
        
  

      </div>
    <div class="jd-details-descr">
      
    

      
  <div class="jd-tagdata jd-tagdescr"><p></p></div>

    </div>
</div>





<!-- ========= CONSTRUCTOR DETAIL ======== -->
<!-- Protected ctors -->



<!-- ========= METHOD DETAIL ======== -->
<!-- Public methdos -->



<!-- ========= METHOD DETAIL ======== -->



<!-- ========= END OF CLASS DATA ========= -->
<A NAME="navbar_top"></A>

<div id="footer" class="wrap" >
        

  <div id="copyright">
    
  Except as noted, this content is licensed under <a
  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. 
  For details and restrictions, see the <a href="/license.html">
  Content License</a>.
  </div>
  <div id="build_info">
    
<script src="/timestamp.js" type="text/javascript"></script>
<script>document.write(BUILD_TIMESTAMP)</script>

  </div>


  <div id="footerlinks">
    
  <p>
    <a href="/about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
    <a href="/legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
    <a href="/support.html">Support</a>
  </p>
  </div>

</div> <!-- end footer -->
</div> <!-- jd-content -->

</div><!-- end doc-content -->

</div> <!-- end body-content --> 






</body>
</html>
