您的位置:首页 > 移动开发 > Android开发

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
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>



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: