Android游戲開發系統控件-ImageButton
ImageButton與Button類似,區別在於ImageButton可以自定義一張圖片作為一個按鈕;
也正因為使用圖片代替了按鈕,所以ImageButton按下和抬起的樣式效果需要自定義。
下面為學習ImageButton做的的實例:
創建ImageButton項目
模擬器運行效果截圖:
按下按鈕:
抬起按鈕:
項目源碼:
main.xml修改如下:
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:orientation="vertical" >
-
- <ImageButton
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:id="@+id/imageBtn"
- android:background="@drawable/nopress"/>
-
- </LinearLayout>
ImageButtonActivity.java代碼修改如下:
- package com.ImageButton;
-
- import android.app.Activity;
- import android.os.Bundle;
- import android.view.MotionEvent;
- import android.view.View;
- import android.view.View.OnTouchListener;
- import android.widget.ImageButton;
-
- public class ImageButtonActivity extends Activity {
- private ImageButton Ibtn;
- /** Called when the activity is first created. */
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- Ibtn = (ImageButton)findViewById(R.id.imageBtn);
- //為圖片按鈕添加觸屏監聽
- Ibtn.setOnTouchListener(new OnTouchListener(){
- public boolean onTouch(View v,MotionEvent event){
- //當前用戶為按下
- if(event.getAction()==MotionEvent.ACTION_DOWN){
- //設置圖片按鈕背景圖
-
- Ibtn.setBackgroundDrawable(getResources().getDrawable(R.drawable.press));
- //用戶當前為抬起
- }else if(event.getAction()==MotionEvent.ACTION_UP){
-
- Ibtn.setBackgroundDrawable(getResources().getDrawable(R.drawable.nopress));
- }
- return false;
- }
- });
- }
- }
更多Android相關信息見Android 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=11