歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Android游戲開發系統控件-ImageButton

Android游戲開發系統控件-ImageButton

ImageButton與Button類似,區別在於ImageButton可以自定義一張圖片作為一個按鈕;

也正因為使用圖片代替了按鈕,所以ImageButton按下和抬起的樣式效果需要自定義。

下面為學習ImageButton做的的實例:

創建ImageButton項目

模擬器運行效果截圖:

按下按鈕:

抬起按鈕:

項目源碼:

main.xml修改如下:

  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:layout_width="fill_parent"  
  4.     android:layout_height="fill_parent"  
  5.     android:orientation="vertical" >  
  6.   
  7. <ImageButton   
  8.     android:layout_width="wrap_content"  
  9.     android:layout_height="wrap_content"  
  10.     android:id="@+id/imageBtn"  
  11.     android:background="@drawable/nopress"/>  
  12.   
  13. </LinearLayout>  

ImageButtonActivity.java代碼修改如下:

  1. package com.ImageButton;  
  2.   
  3. import android.app.Activity;  
  4. import android.os.Bundle;  
  5. import android.view.MotionEvent;  
  6. import android.view.View;  
  7. import android.view.View.OnTouchListener;  
  8. import android.widget.ImageButton;  
  9.   
  10. public class ImageButtonActivity extends Activity {  
  11.     private ImageButton Ibtn;  
  12.     /** Called when the activity is first created. */  
  13.     @Override  
  14.     public void onCreate(Bundle savedInstanceState) {  
  15.         super.onCreate(savedInstanceState);  
  16.         setContentView(R.layout.main);  
  17.         Ibtn = (ImageButton)findViewById(R.id.imageBtn);  
  18.         //為圖片按鈕添加觸屏監聽   
  19.         Ibtn.setOnTouchListener(new OnTouchListener(){  
  20.             public boolean onTouch(View v,MotionEvent event){  
  21.                 //當前用戶為按下   
  22.                 if(event.getAction()==MotionEvent.ACTION_DOWN){  
  23.                     //設置圖片按鈕背景圖   
  24.                       
  25.                     Ibtn.setBackgroundDrawable(getResources().getDrawable(R.drawable.press));     
  26.                 //用戶當前為抬起   
  27.                 }else if(event.getAction()==MotionEvent.ACTION_UP){  
  28.                       
  29.                     Ibtn.setBackgroundDrawable(getResources().getDrawable(R.drawable.nopress));  
  30.                 }  
  31.                 return false;  
  32.             }     
  33.         });  
  34.     }  
  35. }  

更多Android相關信息見Android 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=11

Copyright © Linux教程網 All Rights Reserved