您的位置:首页 > 其它

4.2 设计具有背景图的按钮---ImageButton的焦点以及事件的处理

2015-08-10 10:31 447 查看
package irdc.EX04_02;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
/*使用OnClickListener与OnFocusChangeListener来区隔按钮的状态*/
import android.view.View.OnClickListener;
import android.view.View.OnFocusChangeListener;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.TextView;
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>


<?xml version="1.0" encoding="utf-8"?>
<resources>
<drawable name="red">#7f00</drawable>
<drawable name="blue">#770000ff</drawable>
<drawable name="green">#7700ff00</drawable>
<drawable name="yellow">#77ffff00</drawable>
<drawable name="screen_background_black">#ff000000</drawable>
<drawable name="translucent_background">#e0000000</drawable>
<drawable name="transparent_background">#00000000</drawable>
<drawable name="white">#ffffffff</drawable>
</resources>


<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">EX04_02</string>
<string name="str_textview1">图片按钮的状态为:未知</string>
<string name="str_button1">一般按钮</string>
</resources>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: