我想为我的大多数视图添加一个按下状态,这样视图就会变暗,而不管它的背景颜色/可绘制,而无需为每个视图创建 xml 选择器。
就像在启动器图标中一样。
如下图所示,当我按下谷歌分析图标时,它会变暗:
我想为我的大多数视图添加一个按下状态,这样视图就会变暗,而不管它的背景颜色/可绘制,而无需为每个视图创建 xml 选择器。
就像在启动器图标中一样。
如下图所示,当我按下谷歌分析图标时,它会变暗:
我建议使用ColorFilter
. 这是一个例子:
private ImageView mImageView;
private static final ColorFilter sDarkenFilter = new PorterDuffColorFilter(Color.GRAY, PorterDuff.Mode.MULTIPLY);
public void onCreate (Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.grid_layout);
mImageView = (ImageView) findViewById(R.id.image);
mImageView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch (View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
mImageView.setColorFilter(sDarkenFilter);
return true;
case MotionEvent.ACTION_UP:
mImageView.clearColorFilter();
return true;
}
return false;
}
});
}