【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

猜你喜欢

转载自eyeandroid-com.iteye.com/blog/1722631