3.1 Button
Button這控制項不用多說,就是一個按鈕,主要是點擊後進行相應事件的響應。
給組件添加ID屬性:定義格式為 android:id="@+id/name",這裡的name是自訂的,不是索引變數。“@+”表示新聲明,"@"表示引用,例如:
"@+id/tv" 表示新聲明一個id,是id名為tv的組件;
"@id/tv" 表示引用id名為tv的組件。
給按鈕添加點擊事件響應
想知道按鈕是否被使用者點擊,就需要一個“點擊監聽器”來對其進行監聽,然後通過監聽器來擷取點擊的事件,就可以判斷關注的按鈕是否被使用者所點擊。
使用監聽器有兩種方式:
1.當前類使用點擊監聽器介面,修改後源碼如下:
ButtonProject Activity === (v =="確定按鈕觸發事件!" (v=="取消按鈕觸發事件!"
先用當前類使用點擊監聽器介面(onClickListner),重寫點擊監聽器的抽象函數(onClick);然後對需要監聽的按鈕進行按鈕綁定監聽器操作,這樣監聽器才能對綁定的按鈕進行監聽,以判斷其是否被使用者點擊,一旦按鈕被點擊,就會自動響應onClick函數,並將點擊的button(button也是 1個view)傳入;最後就可以在onClick函數中書寫點擊會觸發的事件(因為定義了多個按鈕,所以在onClick函數中對系統傳入的view進行按鈕匹配的判斷,讓不同的按鈕做不通的處理事件)。
2.使用內部類實現監聽器進行監聽,修改後原始碼如下:
ButtonProject === btn_submit.setOnClickListener( tv.setText("確定按鈕觸發事件!" tv.setText("取消按鈕觸發事件!"
利用內部類的形式也需要重寫監聽器的抽象函數,然後在onClick裡進行處理事件,這裡不用判斷view了,因為一個Button對應了一個監聽器。
Button類官方文檔地址:http://developer.android.com/reference/android/widget/Button.html
其中有說明,如果不用OnClickListener監聽器的話,現在可以在XML布局按鈕控制項中使用android:onClick屬性。然後在類中調用你設定的onClick方法。代碼如下:
當使用者單擊按鈕時,Android系統調用selfDestruct方法。該方法必須是公開並接受一個視圖作為其唯一的參數。
}
3.2 Layout
1.線性布局 LinearLayout
LinearLayout類官方文檔地址:http://developer.android.com/reference/android/widget/LinearLayout.html
2.相對布局 RelativeLayout
RelativeLayout類官方文檔地址:http://developer.android.com/reference/android/widget/RelativeLayout.html
3.表格版面配置 TableLayout
TableLayout類官方文檔地址:http://developer.android.com/reference/android/widget/TableLayout.html
4.絕對布局 AbsoluteLayout
AbsoluteLayout類官方文檔地址:http://developer.android.com/reference/android/widget/AbsoluteLayout.html
5.單幀布局 FrameLayout
FrameLayout類官方文檔地址:http://developer.android.com/reference/android/widget/FrameLayout.html
3.3 ImageButton
ImageButton類官方文檔地址:http://developer.android.com/reference/android/widget/ImageButton.html
ImageButton與Button類似 ,區別在於ImageButton可以自訂一張圖片作為一個按鈕;也正因為使用圖片代替了按鈕,所以ImageButton按下與抬起的樣式效果需要自訂。
ImageButtonProject = btn_ImageButton.setOnTouchListener( (event.getAction()==MotionEvent.ACTION_DOWN) (event.getAction()==MotionEvent.ACTION_UP)
顯示不同的按鈕狀態官方文檔中有提到可以在單獨在xml檔案中配置,然後布局檔案中引用就可以了,代碼如下: