Android-ImageButton的焦点及事件处理
Android--ImageButton的焦点及事件处理
实例的布局文件如下:
这里例子实现的是当ImageButton获得焦点和失去焦点的反应。
1.当ImageButton获得焦点时,图片发生变化
2.当ImageButton失去焦点时,图片发生变化
为了作对比,实例中加入一个普通的Button按钮。
截图如下:
1.当获得焦点时
2.当失去焦点时
实现的代码如下:
public class EX04_02 extends Activity { /*宣告三个对象变量(图片按钮,按钮,与TextView)*/ private ImageButton mImageButton1; private Button mButton1; private TextView mTextView1; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); /*透过findViewById建构三个对象*/ mImageButton1 =(ImageButton) findViewById(R.id.myImageButton1); mButton1=(Button)findViewById(R.id.myButton1); mTextView1 = (TextView) findViewById(R.id.myTextView1); /*透过OnFocusChangeListener来响应ImageButton的onFous事件*/ mImageButton1.setOnFocusChangeListener(new OnFocusChangeListener() { public void onFocusChange(View arg0, boolean isFocused) { // TODO Auto-generated method stub /*若ImageButton状态为onFocus改变ImageButton的图片 * 并改变textView的文字*/ if (isFocused==true) { mTextView1.setText("图片按钮状态为:Got Focus"); mImageButton1.setImageResource(R.drawable.iconfull); } /*若ImageButton状态为offFocus改变ImageButton的图片 *并改变textView的文字*/ else { mTextView1.setText("图片按钮状态为:Lost Focus"); mImageButton1.setImageResource(R.drawable.iconempty); } } } ); /*透过onClickListener来响应ImageButton的onClick事件*/ mImageButton1.setOnClickListener(new OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub /*若ImageButton状态为onClick改变ImageButton的图片 * 并改变textView的文字*/ mTextView1.setText("图片按钮状态为:Got Click"); mImageButton1.setImageResource(R.drawable.iconfull); } } ); /*透过onClickListener来响应Button的onClick事件*/ mButton1.setOnClickListener(new OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub /*若Button状态为onClick改变ImageButton的图片 * 并改变textView的文字*/ mTextView1.setText("图片按钮状态为:Lost Focus"); mImageButton1.setImageResource(R.drawable.iconempty); } } ); } }
实例的布局文件如下:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:background="@drawable/white" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:id="@+id/myTextView1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:textColor="@drawable/blue" android:text="@string/str_textview1"/> <!-- 預設圖片按鈕的default圖案透過drawable資源中取得 --> <ImageButton android:id="@+id/myImageButton1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/iconempty"/> <Button android:id="@+id/myButton1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/str_button1" /> </LinearLayout>