Android_UI_点击按钮切换背景效果实现
2015-05-09 18:31
841 查看
实现按钮按下和释放,按钮背景图片相应切换效果的方法这里介绍两种,一种是在代码里实现,另一种是在xml文件里实现
一、在xml文件里
首先现在layout的一个xml文件下定义Button如下所示:
[html]
view plaincopy
<Button
android:id="@+id/btn_user_selected"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/btn_selected/>
注意代码里的android:background="@drawable/btn_selected",这里btn_selected是drawable文件下定义button按下释放效果的xml文件
接下来看btn_selected.xml文件的定义:
[html]
view plaincopy
<?xml
version="1.0"
encoding="utf-8"?>
<selector
xmlns:android="http://schemas.android.com/apk/res/android"
>
<!-- 获得焦点但未按下时的背景图片 -->
<item
android:state_focused="true"
android:state_enabled="true"
android:state_pressed="false"
android:drawable="@drawable/user_selecte_n"
/>
<!-- 按下时的背景图片 -->
<item
android:state_enabled="true"
android:state_pressed="true"
android:drawable="@drawable/user_selecte_p"
/>
<!-- 按下时的背景图片 -->
<item
android:state_enabled="true"
android:state_checked="true"
android:drawable="@drawable/user_selecte_p"
/>
<!-- 默认时的背景图片 -->
<item
android:drawable="@drawable/user_selecte_n"
/>
</selector>
创建xml:点击drawable文件夹右键-->new-->Android XML File-->在File栏里填写xml名称-->Root Element下选择xml的背景选择器selector-->点击finish-->创建成功
相关属性:
android:state_selected :选中
android:state_focused :获得焦点
android:state_pressed :点击
android:state_enabled :设置是否响应事件,指所有事件
selector背景选择器用法大全请跳转到:点击打开链接
二、在java代码里
[java]
view plaincopy
bottomReturnBtn.setOnTouchListener(new OnTouchListener()
{
public boolean onTouch(View v, MotionEvent event) {
Button upStepBtn = (Button) v;
if(event.getAction() == MotionEvent.ACTION_DOWN){
upStepBtn.setBackgroundResource(R.drawable.bottom_sub_order_btn);
}else
if(event.getAction() == MotionEvent.ACTION_UP){
upStepBtn.setBackgroundResource(R.drawable.bottom_return_check);
finish();
}
return false;
}
});
通过监听按钮的不同状态来更改按钮的背景图片
public boolean onTouch(View v,MotionEvent event){
}
参数v:事件源对象
参数event:事件封装类的对象,其中封装了触发事件的详细信息,同样包括事件的类型、触发时间等信息。
event.getAction() == MotionEvent.ACTION_DOWN ======>按钮被按下
event.getAction() == MotionEvent.ACTION_UP
======>按钮被释放
摘自:http://blog.csdn.net/bossgirls/article/details/7574507
一、在xml文件里
首先现在layout的一个xml文件下定义Button如下所示:
[html]
view plaincopy
<Button
android:id="@+id/btn_user_selected"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/btn_selected/>
注意代码里的android:background="@drawable/btn_selected",这里btn_selected是drawable文件下定义button按下释放效果的xml文件
接下来看btn_selected.xml文件的定义:
[html]
view plaincopy
<?xml
version="1.0"
encoding="utf-8"?>
<selector
xmlns:android="http://schemas.android.com/apk/res/android"
>
<!-- 获得焦点但未按下时的背景图片 -->
<item
android:state_focused="true"
android:state_enabled="true"
android:state_pressed="false"
android:drawable="@drawable/user_selecte_n"
/>
<!-- 按下时的背景图片 -->
<item
android:state_enabled="true"
android:state_pressed="true"
android:drawable="@drawable/user_selecte_p"
/>
<!-- 按下时的背景图片 -->
<item
android:state_enabled="true"
android:state_checked="true"
android:drawable="@drawable/user_selecte_p"
/>
<!-- 默认时的背景图片 -->
<item
android:drawable="@drawable/user_selecte_n"
/>
</selector>
创建xml:点击drawable文件夹右键-->new-->Android XML File-->在File栏里填写xml名称-->Root Element下选择xml的背景选择器selector-->点击finish-->创建成功
相关属性:
android:state_selected :选中
android:state_focused :获得焦点
android:state_pressed :点击
android:state_enabled :设置是否响应事件,指所有事件
selector背景选择器用法大全请跳转到:点击打开链接
二、在java代码里
[java]
view plaincopy
bottomReturnBtn.setOnTouchListener(new OnTouchListener()
{
public boolean onTouch(View v, MotionEvent event) {
Button upStepBtn = (Button) v;
if(event.getAction() == MotionEvent.ACTION_DOWN){
upStepBtn.setBackgroundResource(R.drawable.bottom_sub_order_btn);
}else
if(event.getAction() == MotionEvent.ACTION_UP){
upStepBtn.setBackgroundResource(R.drawable.bottom_return_check);
finish();
}
return false;
}
});
通过监听按钮的不同状态来更改按钮的背景图片
public boolean onTouch(View v,MotionEvent event){
}
参数v:事件源对象
参数event:事件封装类的对象,其中封装了触发事件的详细信息,同样包括事件的类型、触发时间等信息。
event.getAction() == MotionEvent.ACTION_DOWN ======>按钮被按下
event.getAction() == MotionEvent.ACTION_UP
======>按钮被释放
摘自:http://blog.csdn.net/bossgirls/article/details/7574507
相关文章推荐
- Android_UI_点击按钮切换背景效果实现
- Android_UI_点击按钮切换背景效果实现
- Android_UI_点击按钮切换背景效果实现
- 【Android 界面效果3】Android_UI_点击按钮切换背景效果实现
- Android_UI_点击按钮切换背景效果实现
- Android_UI_点击按钮切换背景效果实现
- Android_UI_点击按钮切换背景效果实现
- Android_UI_点击按钮切换背景效果实现
- 【Android 界面效果3】Android_UI_点击按钮切换背景效果实现
- android图片按钮点击变灰变量效果实现(一张背景图实现效果)
- Android点击按钮切换背景效果-selector使用方法
- Android 图片实现按钮点击切换效果
- Android 点击按钮实现来回切换背景图和文字
- Android XML中实现按钮点击效果以及背景平铺
- Android 图片实现按钮点击切换效果
- android checkBox背景样式及用颜色值实现按钮点击效果
- Android开发实现按钮点击切换背景并修改文字颜色的方法
- Android简单实现 高德地图的定位与显示,点击按钮切换地图图层
- Android实现圆角背景点击效果
- Android自定义ImageView实现点击两张图片切换效果