Home | History | Annotate | Download | only in ui
      1 page.title=
      2 page.tags=view,viewgroup
      3 @jd:body
      4 
      5 <div id="qv-wrapper">
      6 <div id="qv">
      7   <h2></h2>
      8 <ol>
      9   <li><a href="#write">XML </a></li>
     10   <li><a href="#load">XML </a></li>
     11   <li><a href="#attributes"></a>
     12     <ol>
     13       <li><a href="#id">ID</a></li>
     14       <li><a href="#layout-params"> </a></li>
     15     </ol>
     16   </li>
     17   <li><a href="#Position"></a></li>
     18   <li><a href="#SizePaddingMargins"></a></li>
     19   <li><a href="#CommonLayouts"></a></li>
     20   <li><a href="#AdapterViews"></a>
     21     <ol>
     22       <li><a href="#FillingTheLayout"></a></li>
     23       <li><a href="#HandlingUserSelections"> </a></li>
     24     </ol>
     25   </li>
     26 </ol>
     27 
     28   <h2></h2>
     29   <ol>
     30     <li>{@link android.view.View}</li>
     31     <li>{@link android.view.ViewGroup}</li>
     32     <li>{@link android.view.ViewGroup.LayoutParams}</li>
     33   </ol>
     34 
     35   <h2></h2>
     36   <ol>
     37     <li><a href="{@docRoot}training/basics/firstapp/building-ui.html"> </a>
     38 </li> </div>
     39 </div>
     40 
     41 <p><a href="{@docRoot}guide/components/activities.html"></a><a href="{@docRoot}guide/topics/appwidgets/index.html"> </a> UI   2 
     42 </p>
     43 <ul>
     44 <li><strong>XML  UI </strong>Android  View  XML 
     45 </li>
     46 <li><strong></strong> View  ViewGroup 
     47  </li>
     48 </ul>
     49 
     50 <p>Android  UI   XML   XML  </p>
     51 
     52 <div class="sidebox-wrapper">
     53 <div class="sidebox">
     54   <ul>
     55   <li><a href="{@docRoot}tools/sdk/eclipse-adt.html">ADT Plugin for Eclipse</a> XML  [<strong></strong>] XML  
     56 
     57 </li>
     58   <li><a href="{@docRoot}tools/debugging/debugging-ui.html#hierarchyViewer">Hierarchy Viewer</a>  
     59 
     60 
     61 
     62 </li>
     63   <li><a href="{@docRoot}tools/debugging/debugging-ui.html#layoutopt">layoutopt</a> 
     64 </li>
     65 </div>
     66 </div>
     67 
     68 <p>XML  UI UI   XML XML UI  XML  View {@link android.view.ViewGroup}  {@link android.view.View} 
     69 
     70 </p>
     71 
     72 <p>UI  XML  XML  XML EditText <code>EditText.setText()</code>  <code>text</code> 
     73 
     74  </p>
     75 
     76 <p class="note"><strong>:</strong>  <a href="{@docRoot}guide/topics/ui/layout-objects.html"> </a>
     77 <a href="{@docRoot}resources/tutorials/views/index.html">Hello Views</a>  
     78 </p>
     79 
     80 <h2 id="write">XML </h2>
     81 
     82 <p>Android  XML HTML UI  </p>
     83 
     84 <p>  1  View  ViewGroup  {@link android.widget.TextView}  {@link android.widget.Button}  {@link android.widget.LinearLayout}  XML 
     85 </p>
     86 <pre>
     87 &lt;?xml version="1.0" encoding="utf-8"?>
     88 &lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     89               android:layout_width="match_parent"
     90               android:layout_height="match_parent"
     91               android:orientation="vertical" >
     92     &lt;TextView android:id="@+id/text"
     93               android:layout_width="wrap_content"
     94               android:layout_height="wrap_content"
     95               android:text="Hello, I am a TextView" />
     96     &lt;Button android:id="@+id/button"
     97             android:layout_width="wrap_content"
     98             android:layout_height="wrap_content"
     99             android:text="Hello, I am a Button" />
    100 &lt;/LinearLayout>
    101 </pre>
    102 
    103 <p>XML  Android  <code>res/layout/</code>  <code>.xml</code> 
    104  </p>
    105 
    106 <p> XML <a href="{@docRoot}guide/topics/resources/layout-resource.html">Layout Resources</a></p>
    107 
    108 <h2 id="load">XML </h2>
    109 
    110 <p> XML   {@link android.view.View} 
    111 {@link android.app.Activity#onCreate(android.os.Bundle) Activity.onCreate()}   <code>{@link android.app.Activity#setContentView(int) setContentView()}</code> <code>R.layout.<em>layout_file_name</em></code>  XML  <code>main_layout.xml</code> 
    112 
    113 
    114 
    115 
    116 
    117 </p>
    118 <pre>
    119 public void onCreate(Bundle savedInstanceState) {
    120     super.onCreate(savedInstanceState);
    121     setContentView(R.layout.main_layout);
    122 }
    123 </pre>
    124 
    125 <p> <code>onCreate()</code>  Android <a href="{@docRoot}guide/components/activities.html#Lifecycle"></a>
    126 
    127 
    128 </p>
    129 
    130 
    131 <h2 id="attributes"></h2>
    132 
    133 <p> View  ViewGroup  XML View  TextView  <code>textSize</code>  View  View  View <code>id</code> 
    134 
    135 
    136 
    137   ViewGroup View 
    138 
    139 </p>
    140 
    141 <h3 id="id">ID</h3>
    142 
    143 <p> View  View  ID  ID  ID  <code>id</code>  XML  View  XML {@link android.view.View} XML  ID 
    144 
    145 
    146 
    147 
    148 </p>
    149 <pre>android:id="&#64;+id/my_button"</pre>
    150 
    151 <p>@ XML  ID  ID 
    152 +<code>R.java</code> 
    153 Android  ID 
    154 Android  ID  <code>android</code> 
    155 </p>
    156 <pre>android:id="&#64;android:id/empty"</pre>
    157 <p><code>android</code>  <code>android.R</code>  ID 
    158 </p>
    159 
    160 <p></p>
    161 <ol>
    162   <li>  ID 
    163 <pre>
    164 &lt;Button android:id="&#64;+id/my_button"
    165         android:layout_width="wrap_content"
    166         android:layout_height="wrap_content"
    167         android:text="&#64;string/my_button_text"/>
    168 </pre>
    169   </li>
    170   <li>View <code>{@link android.app.Activity#onCreate(Bundle) onCreate()}</code> 
    171 
    172 <pre>
    173 Button myButton = (Button) findViewById(R.id.my_button);
    174 </pre>
    175   </li>
    176 </ol>
    177 <p>View  ID {@link android.widget.RelativeLayout}  ID 
    178 
    179 </p>
    180 <p> ID 
    181 
    182 </p>
    183 
    184 
    185 <h3 id="layout-params"> </h3>
    186 
    187 <p><code>layout_<em>something</em></code>  XML  ViewGroup  View  
    188 </p>
    189 
    190 <p> ViewGroup {@link
    191 android.view.ViewGroup.LayoutParams}  ViewGroup  
    192 
    193  1  ViewGroup  ViewGroup  
    194 </p>
    195 
    196 <img src="{@docRoot}images/layoutparams.png" alt="" />
    197 <p class="img-caption"><strong> 1.</strong> 
    198 </p>
    199 
    200 <p> LayoutParams 
    201  LayoutParams  LayoutParams 
    202  </p>
    203 
    204 <p> ViewGroup <code>layout_width</code>  <code>layout_height</code>
    205  LayoutParams 
    206  <p>
    207 
    208 <p>
    209 
    210  </p>
    211 
    212 <ul>
    213   <li><var>wrap_content</var> 
    214 </li>
    215   <li><var>match_parent</var> API  8  <var>fill_parent</var>  ViewGroup 
    216 </li>
    217 </ul>
    218 
    219 <p>
    220 
    221 <var>dp</var> <var>wrap_content</var>
    222 <var>match_parent</var><a href="{@docRoot}guide/topics/resources/available-resources.html#dimension"></a>
    223 
    224 
    225 
    226 </p>
    227 
    228 
    229 <h2 id="Position"></h2>
    230    <p>
    231    <em></em><em></em> 2 
    232 
    233 
    234 
    235    </p>
    236 
    237    <p>
    238    {@link android.view.View#getLeft()}  {@link android.view.View#getTop()} 
    239  X 
    240  Y 
    241 
    242 <code>getLeft()</code>  20  20 
    243 
    244 
    245    </p>
    246 
    247    <p>
    248    {@link android.view.View#getRight()}  {@link android.view.View#getBottom()} 
    249 
    250    
    251 {@link android.view.View#getRight()} <code>getLeft() + getWidth()</code> 
    252 
    253    </p>
    254 
    255 
    256 <h2 id="SizePaddingMargins"></h2>
    257    <p>
    258     2 
    259 
    260    </p>
    261 
    262    <p>
    263    <em></em><em></em>
    264 
    265 {@link android.view.View#getMeasuredWidth()}  {@link android.view.View#getMeasuredHeight()} 
    266 
    267 
    268    </p>
    269 
    270    <p>
    271    2 <em></em><em></em><em></em><em></em>
    272 
    273 
    274 
    275 {@link android.view.View#getWidth()}  {@link android.view.View#getHeight()} 
    276 
    277    </p>
    278 
    279    <p>
    280    
    281 
    282     
    283  2  2 
    284  {@link android.view.View#setPadding(int, int, int, int)} {@link android.view.View#getPaddingLeft()}{@link android.view.View#getPaddingTop()}{@link android.view.View#getPaddingRight()}{@link android.view.View#getPaddingBottom()} 
    285 
    286 
    287 
    288    </p>
    289 
    290    <p>
    291    
    292 ViewGroup {@link android.view.ViewGroup}  {@link android.view.ViewGroup.MarginLayoutParams} 
    293 
    294 
    295    </p>
    296 
    297    <p><a href="{@docRoot}guide/topics/resources/more-resources.html#Dimension"></a>
    298 
    299    </p>
    300 
    301 
    302 
    303 
    304 
    305 
    306 <style type="text/css">
    307 div.layout {
    308   float:left;
    309   width:200px;
    310   margin:0 0 20px 20px;
    311 }
    312 div.layout.first {
    313   margin-left:0;
    314   clear:left;
    315 }
    316 </style>
    317 
    318 
    319 
    320 
    321 <h2 id="CommonLayouts"></h2>
    322 
    323 <p>{@link android.view.ViewGroup} 
    324 Android  
    325 </p>
    326 
    327 <p class="note"><strong>:</strong>  1  UI 
    328 
    329 
    330 </p>
    331 
    332 <!--
    333 <h2 id="framelayout">FrameLayout</h2>
    334 <p>{@link android.widget.FrameLayout FrameLayout} is the simplest type of layout
    335 object. It's basically a blank space on your screen that you can
    336 later fill with a single object &mdash; for example, a picture that you'll swap in and out.
    337 All child elements of the FrameLayout are pinned to the top left corner of the screen; you cannot
    338 specify a different location for a child view. Subsequent child views will simply be drawn over
    339 previous ones,
    340 partially or totally obscuring them (unless the newer object is transparent).
    341 </p>
    342 -->
    343 
    344 
    345 <div class="layout first">
    346   <h4><a href="layout/linear.html"></a></h4>
    347   <a href="layout/linear.html"><img src="{@docRoot}images/ui/linearlayout-small.png" alt="" /></a>
    348   <p> 1 
    349 </p>
    350 </div>
    351 
    352 <div class="layout">
    353   <h4><a href="layout/relative.html"></a></h4>
    354   <a href="layout/relative.html"><img src="{@docRoot}images/ui/relativelayout-small.png" alt="" /></a>
    355   <p> A  B 
    356 </p>
    357 </div>
    358 
    359 <div class="layout">
    360   <h4><a href="{@docRoot}guide/webapps/webview.html"></a></h4>
    361   <a href="{@docRoot}guide/webapps/webview.html"><img src="{@docRoot}images/ui/webview-small.png" alt="" /></a>
    362   <p></p>
    363 </div>
    364 
    365 
    366 
    367 
    368 <h2 id="AdapterViews" style="clear:left"></h2>
    369 
    370 <p>{@link android.widget.AdapterView} 
    371 {@link android.widget.AdapterView} {@link android.widget.Adapter} 
    372 
    373 {@link android.widget.Adapter}  {@link android.widget.AdapterView} {@link android.widget.Adapter}   {@link android.widget.AdapterView} 
    374 
    375 
    376 </p>
    377 
    378 <p></p>
    379 
    380 <div class="layout first">
    381   <h4><a href="layout/listview.html"></a></h4>
    382   <a href="layout/listview.html"><img src="{@docRoot}images/ui/listview-small.png" alt="" /></a>
    383   <p> 1 </p>
    384 </div>
    385 
    386 <div class="layout">
    387   <h4><a href="layout/gridview.html"></a></h4>
    388   <a href="layout/gridview.html"><img src="{@docRoot}images/ui/gridview-small.png" alt="" /></a>
    389   <p></p>
    390 </div>
    391 
    392 
    393 
    394 <h3 id="FillingTheLayout" style="clear:left"></h3>
    395 
    396 <p>{@link android.widget.AdapterView}  {@link android.widget.Adapter} {@link android.widget.ListView}  {@link android.widget.GridView}  {@link android.widget.AdapterView}  {@link
    397 android.view.View} 
    398 
    399 </p>
    400 
    401 <p>Android  {@link android.widget.AdapterView}  {@link android.widget.Adapter} 
    402  2 
    403 </p>
    404 
    405 <dl>
    406   <dt>{@link android.widget.ArrayAdapter}</dt>
    407     <dd>{@link
    408 android.widget.ArrayAdapter}  {@link
    409 java.lang.Object#toString()}  {@link
    410 android.widget.TextView} 
    411       <p>{@link
    412 android.widget.ListView}  {@link android.widget.ArrayAdapter} 
    413 </p>
    414 <pre>
    415 ArrayAdapter&lt;String> adapter = new ArrayAdapter&lt;String>(this,
    416         android.R.layout.simple_list_item_1, myStringArray);
    417 </pre>
    418 <p></p>
    419 <ul>
    420   <li> {@link android.content.Context}</li>
    421   <li> {@link android.widget.TextView} </li>
    422   <li></li>
    423 </ul>
    424 <p>{@link android.widget.ListView}  {@link android.widget.ListView#setAdapter setAdapter()} 
    425 </p>
    426 <pre>
    427 ListView listView = (ListView) findViewById(R.id.listview);
    428 listView.setAdapter(adapter);
    429 </pre>
    430 
    431       <p> {@link
    432 java.lang.Object#toString()}  {@link android.widget.ImageView} {@link android.widget.TextView} {@link
    433 android.widget.ArrayAdapter} {@link android.widget.ArrayAdapter#getView
    434 getView()} 
    435 
    436 </p>
    437 
    438 </dd>
    439 
    440   <dt>{@link android.widget.SimpleCursorAdapter}</dt>
    441     <dd>{@link android.database.Cursor} {@link android.widget.SimpleCursorAdapter} {@link android.database.Cursor} {@link android.database.Cursor} 
    442 
    443 
    444  {@link
    445 android.database.Cursor} 
    446 
    447  {@link
    448 android.database.Cursor} 
    449 </p>
    450 <pre>
    451 String[] fromColumns = {ContactsContract.Data.DISPLAY_NAME,
    452                         ContactsContract.CommonDataKinds.Phone.NUMBER};
    453 int[] toViews = {R.id.display_name, R.id.phone_number};
    454 </pre>
    455 <p>{@link android.widget.SimpleCursorAdapter}  {@link android.database.Cursor} 2 
    456 </p>
    457 <pre>
    458 SimpleCursorAdapter adapter = new SimpleCursorAdapter(this,
    459         R.layout.person_name_and_number, cursor, fromColumns, toViews, 0);
    460 ListView listView = getListView();
    461 listView.setAdapter(adapter);
    462 </pre>
    463 <p>{@link android.widget.SimpleCursorAdapter}  {@code toViews}  {@code
    464 fromColumns}  {@link android.database.Cursor} 
    465 </p>.</dd>
    466 </dl>
    467 
    468 
    469 <p>{@link android.widget.ArrayAdapter#notifyDataSetChanged()} 
    470 
    471 </p>
    472 
    473 
    474 
    475 <h3 id="HandlingUserSelections"> </h3>
    476 
    477 <p>{@link android.widget.AdapterView.OnItemClickListener}  {@link android.widget.AdapterView}  
    478 </p>
    479 
    480 <pre>
    481 // Create a message handling object as an anonymous class.
    482 private OnItemClickListener mMessageClickedHandler = new OnItemClickListener() {
    483     public void onItemClick(AdapterView parent, View v, int position, long id) {
    484         // Do something in response to the click
    485     }
    486 };
    487 
    488 listView.setOnItemClickListener(mMessageClickedHandler);
    489 </pre>
    490 
    491 
    492 
    493