实现图片点击变换透明度的效果,可以切两张图片,使用选择器实现:
<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;
}
});
}
}