获取 ImageButton 背景色

Get ImageButton background color

如果你以这个 link 为例 http://www.mkyong.com/android/android-imagebutton-example/

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

谢谢。

而不是显示消息...

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

我想得到颜色值,这样我就可以用它来改变另一个控件的背景颜色。将其视为颜色选择器对话框。

您无法检索颜色。

按钮的背景是Drawable:

Button button = (Button) findViewById(R.id.my_button);
Drawable buttonBackground = button.getBackground();

如果你知道背景是一种颜色,你应该试试:

ColorDrawable buttonColor = (ColorDrawable) button.getBackground();

(复制自 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");
}