如果您将此链接看作例子http://www.mkyong.com/android/android-imagebutton-example/
我的问题是当用户点击该ImageButton时如何获取ImageButton背景颜色?
感谢。
而不是显示消息......
Toast.makeText(MyAndroidAppActivity.this, "ImageButton is clicked!", Toast.LENGTH_SHORT).show();
我想获取颜色值,因此我可以使用它来更改另一个控件背景颜色。可以将其视为颜色选择器对话框。
答案 0 :(得分:0)
您无法检索颜色。
按钮的背景是Drawable:
Button button = (Button) findViewById(R.id.my_button);
Drawable buttonBackground = button.getBackground();
如果你知道背景是一种颜色,你应该尝试:
ColorDrawable buttonColor = (ColorDrawable) button.getBackground();
答案 1 :(得分:0)
(从Get the background color of a button in android复制) 很容易将其作为Drawable
Button button = (Button) findViewById(R.id.my_button);
Drawable buttonBackground = button.getBackground();
如果您知道这是一种颜色,那么您可以尝试
ColorDrawable buttonColor = (ColorDrawable) button.getBackground();
如果您使用的是Android 3.0+,则可以获得该颜色的资源ID。
int colorId = buttonColor.getColor();
并将其与指定的颜色进行比较,即
if (colorID == R.color.green) {
log("color is green");
}