Android中,控件下按效果的两种实现方式!
2015-06-02 20:49
465 查看
本blog试图记录Android中两种常见的控件下按效果实现方式:
1、控件在ACTION_DOWN与ACTION_UP中间,控件变暗,采用ColorFilter;
2、控件选中效果,采用StateListDrawable;
效果图1:
效果图2:
效果图3:
图3是在图二的基础上采用colorFilter实现的,图一采用StateListDrawable
ColorFilter具体实现:
Button button=(Button)findViewById(R.id.bt_bike_info_rent_bike);
button.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN)
v.getBackground().setColorFilter(new LightingColorFilter(0xFF999999, 0xFF000000));
else if (event.getAction() == MotionEvent.ACTION_UP)
v.getBackground().clearColorFilter();
return false;
}
});
StateListDrawable具体实现:
XML file saved at
1、控件在ACTION_DOWN与ACTION_UP中间,控件变暗,采用ColorFilter;
2、控件选中效果,采用StateListDrawable;
效果图1:
效果图2:
效果图3:
图3是在图二的基础上采用colorFilter实现的,图一采用StateListDrawable
ColorFilter具体实现:
Button button=(Button)findViewById(R.id.bt_bike_info_rent_bike);
button.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN)
v.getBackground().setColorFilter(new LightingColorFilter(0xFF999999, 0xFF000000));
else if (event.getAction() == MotionEvent.ACTION_UP)
v.getBackground().clearColorFilter();
return false;
}
});
StateListDrawable具体实现:
XML file saved at
res/drawable/button.xml:
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" android:drawable="@drawable/button_pressed" /> <!-- pressed --> <item android:state_focused="true" android:drawable="@drawable/button_focused" /> <!-- focused --> <item android:state_hovered="true" android:drawable="@drawable/button_focused" /> <!-- hovered --> <item android:drawable="@drawable/button_normal" /> <!-- default --> </selector>
相关文章推荐
- 关于goole IO大会发布的android M和android studio1.3的更新
- Android底层驱动开发(一)
- Android之NDK开发
- android 上传文件
- android开发资源收集贴
- Android 自动化测试之------ Monkey工具
- Android Studio使用jni、so库
- Android 数据库框架ormlite 使用精要
- android Launcher基础知识
- Android Audio 音频输出设备切换
- Android 官方博客 - Android应用程序的内存分析(翻译)(转)
- Android编程宝典-第一章-初识Android-笔记
- 菜鸟学Android笔记(十六):零散的知识点
- Android开发设计模式之——单例模式
- fragment 里需要activity。Android-The method findViewById(int) is undefined for the type first (Fragment)
- Android使用第三方库.so被删掉问题
- MTK6577+Android4.0背光点亮
- Android手机的所需的一些权限
- 修改游戏图标
- Android中的ContentProvider的学习笔记.