我有一张图片,我想创建一个按钮点击效果一样-触摸按钮时,它应该立即改变颜色。
我看过下面的链接,但对我来说不起作用:
How can I give an imageview click effect like a button on Android?
也许这是我的Android版本,即Lollipop。尽管我在上面的链接中尝试过建议,但它不起作用。我的图像没有改变,并保持不变的颜色。
这是我的代码:
//into the toolbar, inflate the back button and Populisto title,
//which we find in toolbar_custom_view_layout.xml
View logo = getLayoutInflater().inflate(R.layout.toolbar_custom_view_layout, null);
toolbar.addView(logo);
ImageView backButton = (ImageView) logo.findViewById(R.id.back_arrow_id);
backButton.setBackgroundColor(Color.rgb(100, 100, 50));
//set the ontouch listener
backButton.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN: {
ImageView view = (ImageView) v;
view.getDrawable().setColorFilter(Color.BLACK, PorterDuff.Mode.MULTIPLY);
view.invalidate();
break;
}
case MotionEvent.ACTION_UP:
case MotionEvent.ACTION_CANCEL: {
ImageView view = (ImageView) v;
//clear the overlay
view.getDrawable().clearColorFilter();
view.invalidate();
break;
}
}
return false;
}
});
答案 0 :(得分:1)
return false;
似乎不像您编写的语句那样接受更改。 请将其更改为以下内容:
return true;
还有其他问题,随时问:)
答案 1 :(得分:0)
我有一张图片,我想创建一个按钮点击效果一样-触摸按钮时,它应该立即改变颜色。
将您的ImageView包裹在CardView中,并将CardView的前景设置为rds-launch-wizard-1 (ab-sdjfalkajsdf39)
,
它会给您带来涟漪效果。