Home | History | Annotate | Download | only in ui
      1 page.title=
      2 parent.title=
      3 parent.link=index.html
      4 @jd:body
      5 
      6 <div id="qv-wrapper">
      7 <div id="qv">
      8   <h2></h2>
      9   <ol>
     10     <li><a href="#EventListeners"></a></li>
     11     <li><a href="#EventHandlers"></a></li>
     12     <li><a href="#TouchMode"></a></li>
     13     <li><a href="#HandlingFocus"></a></li>
     14   </ol>
     15 
     16 </div>
     17 </div>
     18 
     19 <p> Android 
     20 
     21 View </p>
     22 
     23 <p> View 
     24 UI Android
     25 
     26 <code>onTouchEvent()</code>  View 
     27 
     28 View 
     29 <a href="#EventListeners"></a>
     30 UI </p>
     31 
     32 <p> View 
     33 
     34 {@link android.widget.Button}
     35 <a href="#EventHandlers"></a>
     36 </p>
     37 
     38 
     39 <h2 id="EventListeners"></h2>
     40 
     41 <p> {@link android.view.View}
     42  UI Android
     43 </p>
     44 
     45 <p></p>
     46 
     47 <dl>
     48   <dt><code>onClick()</code></dt>
     49     <dd> {@link android.view.View.OnClickListener} 
     50 Enter
     51 
     52 </dd>
     53   <dt><code>onLongClick()</code></dt>
     54     <dd> {@link android.view.View.OnLongClickListener} 
     55 Enter
     56 
     57 </dd>
     58   <dt><code>onFocusChange()</code></dt>
     59     <dd> {@link android.view.View.OnFocusChangeListener} 
     60 </dd>
     61   <dt><code>onKey()</code></dt>
     62     <dd> {@link android.view.View.OnKeyListener} 
     63 </dd>
     64   <dt><code>onTouch()</code></dt>
     65     <dd> {@link android.view.View.OnTouchListener} 
     66 
     67 </dd>
     68   <dt><code>onCreateContextMenu()</code></dt>
     69     <dd> {@link android.view.View.OnCreateContextMenuListener} 
     70 <a href="{@docRoot}guide/topics/ui/menus.html#context-menu"></a>
     71 
     72 </dd>
     73 </dl>
     74 
     75 <p> Activity 
     76 <code>View.set...Listener()</code>
     77 
     78 
     79 <code>{@link android.view.View#setOnClickListener(View.OnClickListener) setOnClickListener()}</code>
     80  {@link android.view.View.OnClickListener OnClickListener} </p>
     81 
     82 <p> </p>
     83 
     84 <pre>
     85 // Create an anonymous implementation of OnClickListener
     86 private OnClickListener mCorkyListener = new OnClickListener() {
     87     public void onClick(View v) {
     88       // do something when the button is clicked
     89     }
     90 };
     91 
     92 protected void onCreate(Bundle savedValues) {
     93     ...
     94     // Capture our button from layout
     95     Button button = (Button)findViewById(R.id.corky);
     96     // Register the onClick listener with the implementation above
     97     button.setOnClickListener(mCorkyListener);
     98     ...
     99 }
    100 </pre>
    101 
    102 <p>
    103 OnClickListener  Activity </p>
    104 <pre>
    105 public class ExampleActivity extends Activity implements OnClickListener {
    106     protected void onCreate(Bundle savedValues) {
    107         ...
    108         Button button = (Button)findViewById(R.id.corky);
    109         button.setOnClickListener(this);
    110     }
    111 
    112     // Implement the OnClickListener callback
    113     public void onClick(View v) {
    114       // do something when the button is clicked
    115     }
    116     ...
    117 }
    118 </pre>
    119 
    120 <p>
    121 <code>onClick()</code> 
    122 </p>
    123 <ul>
    124   <li><code>{@link android.view.View.OnLongClickListener#onLongClick(View) onLongClick()}</code>
    125 
    126 true/false
    127 
    128 <em></em><em></em></li>
    129   <li><code>{@link android.view.View.OnKeyListener#onKey(View,int,KeyEvent) onKey()}</code>
    130 
    131     true/false
    132 
    133 <em></em><em></em></li>
    134   <li><code>{@link android.view.View.OnTouchListener#onTouch(View,MotionEvent) onTouch()}</code>
    135 
    136 false
    137 
    138 <em></em>
    139 </li>
    140 </ul>
    141 
    142 <p>
    143 
    144 <code>{@link android.view.View#dispatchKeyEvent(KeyEvent)
    145 dispatchKeyEvent()}</code> 
    146 <code>{@link android.app.Activity#onKeyDown(int,KeyEvent) onKeyDown()}</code>
    147  <code>{@link android.app.Activity#onKeyUp(int,KeyEvent) onKeyUp()}</code>  Activity </p>
    148 
    149 <p>
    150 <strong></strong>
    151 <code>{@link android.app.Activity#onKeyDown(int,KeyEvent) onKeyDown()}</code>
    152  UI 
    153 
    154 
    155 {@link android.view.inputmethod.EditorInfo#IME_ACTION_DONE}
    156  UI
    157 </p>
    158 
    159 <p class="note"><strong></strong>Android 
    160 true<em></em>
    161 
    162 true<em></em></p>
    163 
    164 
    165 <h2 id="EventHandlers"></h2>
    166 
    167 <p><a href="{@docRoot}guide/topics/ui/custom-components.html"></a>
    168 
    169 
    170 
    171 </p>
    172 <ul>
    173   <li><code>{@link  android.view.View#onKeyDown}</code></li>
    174   <li><code>{@link  android.view.View#onKeyUp}</code></li>
    175   <li><code>{@link  android.view.View#onTrackballEvent}</code></li>
    176   <li><code>{@link  android.view.View#onTouchEvent}</code></li>
    177   <li><code>{@link  android.view.View#onFocusChanged}</code></li>
    178 </ul>
    179 <p> View 
    180 
    181 </p>
    182 <ul>
    183   <li><code>{@link  android.app.Activity#dispatchTouchEvent(MotionEvent)
    184     Activity.dispatchTouchEvent(MotionEvent)}</code> {@link 
    185     android.app.Activity} </li>
    186   <li><code>{@link  android.view.ViewGroup#onInterceptTouchEvent(MotionEvent)
    187     ViewGroup.onInterceptTouchEvent(MotionEvent)}</code> {@link
    188     android.view.ViewGroup} </li>
    189   <li><code>{@link  android.view.ViewParent#requestDisallowInterceptTouchEvent(boolean)
    190     ViewParent.requestDisallowInterceptTouchEvent(boolean)}</code>
    191  <code>{@link 
    192     android.view.ViewGroup#onInterceptTouchEvent(MotionEvent)}</code> </li>
    193 </ul>
    194 
    195 <h2 id="TouchMode"></h2>
    196 <p>
    197 
    198 
    199 
    200 
    201 
    202  
    203 </p>
    204 <p>
    205 
    206 
    207 {@link android.view.View#isFocusableInTouchMode}
    208 true
    209 
    210 </p>
    211 <p>
    212 
    213 
    214 
    215 </p>
    216 <p>
    217  Activity
    218 {@link android.view.View#isInTouchMode}
    219 
    220 </p>
    221 
    222 
    223 <h2 id="HandlingFocus"></h2>
    224 
    225 <p>
    226 
    227 
    228 <code>{@link android.view.View#isFocusable()}</code> 
    229 <code>{@link android.view.View#setFocusable(boolean) setFocusable()}</code>
    230 <code>{@link android.view.View#isFocusableInTouchMode()}</code> 
    231 <code>{@link android.view.View#setFocusableInTouchMode(boolean) setFocusableInTouchMode()}</code> 
    232 </p>
    233 
    234 <p>
    235 
    236 
    237 XML 
    238 <var>nextFocusDown</var> <var>nextFocusLeft</var> <var>nextFocusRight</var>
    239 <var>nextFocusUp</var>
    240 <em></em>
    241 ID<em></em></p>
    242 <pre>
    243 &lt;LinearLayout
    244     android:orientation="vertical"
    245     ... >
    246   &lt;Button android:id="@+id/top"
    247           android:nextFocusUp="@+id/bottom"
    248           ... />
    249   &lt;Button android:id="@+id/bottom"
    250           android:nextFocusDown="@+id/top"
    251           ... />
    252 &lt;/LinearLayout>
    253 </pre>
    254 
    255 <p>
    256 
    257  <var>nextFocusUp</var> 
    258 </p>
    259 
    260 <p> UI  <code>android:focusable</code> XML 
    261 
    262  <var>true</var>
    263 <code>android:focusableInTouchMode</code>  Vew </p>
    264 <p> <code>{@link android.view.View#requestFocus()}</code></p>
    265 <p>
    266 <code>{@link android.view.View.OnFocusChangeListener#onFocusChange(View,boolean) onFocusChange()}</code>
    267 <a href="#EventListeners"></a></p>
    268 
    269 
    270 
    271 <!--
    272 <h2 is="EventCycle">Event Cycle</h2>
    273    <p>The basic cycle of a View is as follows:</p>
    274    <ol>
    275     <li>An event comes in and is dispatched to the appropriate View. The View
    276     handles the event and notifies any listeners.</li>
    277     <li>If, in the course of processing the event, the View's bounds may need
    278     to be changed, the View will call {@link android.view.View#requestLayout()}.</li>
    279     <li>Similarly, if in the course of processing the event the View's appearance
    280     may need to be changed, the View will call {@link android.view.View#invalidate()}.</li>
    281     <li>If either {@link android.view.View#requestLayout()} or {@link android.view.View#invalidate()} were called,
    282     the framework will take care of measuring, laying out, and drawing the tree
    283     as appropriate.</li>
    284    </ol>
    285    
    286    <p class="note"><strong>Note:</strong> The entire View tree is single threaded. You must always be on
    287    the UI thread when calling any method on any View.
    288    If you are doing work on other threads and want to update the state of a View
    289    from that thread, you should use a {@link android.os.Handler}.
    290    </p>
    291 -->
    292