【Android每日一讲】2012.11.12 设计具有背景图的按钮 ImageButton的焦点及事件处理

1. 范例说明

  • ImageButton是有背景图片的按钮,要设置ImageButton背景图有许多方法,此程序使用的方法是ImageButton.setImageResource(),需要传递的参数是res/drawable下面的ResourceID。
  • 除了设置背景图片的方法外,程序需要使用onFocusChange与onClick等作为按钮事件单击后的处理,最后通过TextView来显示目前图片按钮的状态。

2. 运行结果

3. 编写代码

		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);
			}
		});

4. 扩展学习与作业

androidButton ImageButton区别

http://www.eyeandroid.com/thread-7064-1-1.html

AndroidImageButton Selector例子

http://www.eyeandroid.com/thread-6645-1-1.html

作业:使用selector来改变ImageButton的背景图片

5.视频讲解与高清下载地址

http://www.eyeandroid.com/thread-10259-1-1.html

原文地址:https://www.cnblogs.com/eyeandroid/p/2765680.html