4.2 设计具有背景图的按钮:ImageButton
package com.chaowen;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.view.View.OnFocusChangeListener;import android.widget.Button;import android.widget.TextView;import android.widget.ImageButton;public class ImageButtonText extends Activity { /** Called when the activity is first created. */private ImageButton mImageButton;private Button mButton1;private TextView mTextView1; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mImageButton=(ImageButton)findViewById(R.id.myImageButton1); mButton1=(Button)findViewById(R.id.myButton1); mTextView1=(TextView)findViewById(R.id.myTextView1); //通过OnFocusChangeListener来响应ImageButton的OnFocus事件 mImageButton.setOnFocusChangeListener(new OnFocusChangeListener() {public void onFocusChange(View v, boolean hasFocus) {//若ImageButton状态为OnFocus改变Imagebutton图片//并改变Textview的文字if(hasFocus==true){mTextView1.setText("图片按钮状态为:Got Focus");mImageButton.setImageResource(R.drawable.iconfull);}else {mTextView1.setText("图片按钮状态为:Lost Focus");mImageButton.setImageResource(R.drawable.iconempty);}}}); //通过OnClickListener来响应ImageButton的OnClick事件 mImageButton.setOnClickListener(new OnClickListener() {public void onClick(View v) { mTextView1.setText("图片按钮状态为:Got Click"); mImageButton.setImageResource(R.drawable.iconfull);}}); //通过OnClickListener来响应button的Onclick事件 mButton1.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {mTextView1.setText("图片按钮状态为:Lost Focus");mImageButton.setImageResource(R.drawable.iconempty);;}}); }}
?main.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@drawable/white" ><TextView android:id="@+id/myTextView1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/str_textview1" /><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>?