在项目开发中,经常碰到按钮点击,可是如果不添加任何效果,按钮是否点击都是看不出来的。于是我们需要在按钮点击时改变按钮的背景图片或者其颜色。这里给出两种实现方法。
第一种,是通过在drawable新建selector.xml文件,在里面可以实现自己所需要的点击效果。给出示例代码:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/button_press" android:state_pressed="true"></item>
<item android:drawable="@drawable/button_normal" android:state_focused="false" android:state_pressed="false"></item>
<item android:drawable="@drawable/button_normal" android:state_focused="true"></item>
<item android:drawable="@drawable/button_normal" android:state_focused="false"></item>
</selector>
当按下状态为true,其通过android:state_pressed="true"来定义。相对应的按下去的图片为button_press.当不是按下状态时,即android:state_pressed="false"时,设置其图片为button_normal.
参看如下图片:
接下来只需要在布局文件中设置Button的属性为:
android:background="@drawable/selector"这样就实现了按钮的按下时其会改变背景图片。
第二种实现方法:
Button button=(Button) this.findViewById(R.id.button);
button2.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
if(event.getAction()==MotionEvent.ACTION_DOWN){
v.setBackgroundResource(R.drawable.button_press);
}else if(event.getAction()==MotionEvent.ACTION_UP){
v.setBackgroundResource(R.drawable.button_nomal);
}
return false;
}
});这样实现不过代码就比较冗余了。
在Android开发中,为了使按钮点击可见,通常需要添加点击效果。本文介绍了两种实现方式:一是通过drawable创建selector.xml文件定义点击状态;二是直接在布局文件中设置Button属性来实现。示例代码和详细步骤提供了清晰的实现过程。
1311

被折叠的 条评论
为什么被折叠?



