Android 点击变换透明度的效果

2019-10-31  本文已影响0人  挂机的坑坑

实现图片点击变换透明度的效果,可以切两张图片,使用选择器实现:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/ic_view_pressed" android:state_pressed="true" />
    <item android:drawable="@drawable/ic_view" />
</selector>

那么如果很多图片都需要这个透明度变换的效果,切很多图片,写很多选择器,很不方便。

安卓中View设置透明度:
在代码中:view.setAlpha(0.5f);
在xml中:android:alpha="0.5"

值0~1,0透明,1不透明,可以通过添加OnTouchListener监听,在点击和抬起时设置alpha值。
需要配合设置OnClickListener使用,否则状态不会还原。

    public static void setAlphaChange( final View ...views){
        for (View view : views) {
            view.setOnTouchListener(new View.OnTouchListener() {
                @Override
                public boolean onTouch(View v, MotionEvent event) {
                    switch (event.getAction()) {
                        case MotionEvent.ACTION_DOWN:
                            v.setAlpha(0.6f);
                            break;
                        case MotionEvent.ACTION_UP:
                        case MotionEvent.ACTION_CANCEL:
                            v.setAlpha(1.0f);
                            break;
                    }
                    return false;
                }
            });
        }
    }
上一篇 下一篇

猜你喜欢

热点阅读