【讀書筆記-《Android遊戲編程之從零開始》】3.Android 遊戲開發常用的系統控制項(Button、Layout、ImageButton)

來源:互聯網
上載者:User

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檔案中配置,然後布局檔案中引用就可以了,代碼如下:

                       

 

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.