获取ImageButton背景颜色

时间:2015-01-29 18:37:24

标签: java android android-layout background-color imagebutton

如果您将此链接看作例子http://www.mkyong.com/android/android-imagebutton-example/

我的问题是当用户点击该ImageButton时如何获取ImageButton背景颜色?

感谢。

而不是显示消息......

       Toast.makeText(MyAndroidAppActivity.this, "ImageButton is clicked!", Toast.LENGTH_SHORT).show();

我想获取颜色值,因此我可以使用它来更改另一个控件背景颜色。可以将其视为颜色选择器对话框。

2 个答案:

答案 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");
}