我有各种按钮,我想获取它们的背景颜色,在颜色可绘制中获取背景颜色很容易,但在波纹可绘制中并不容易,我如何设法从波纹可绘制中获取背景颜色。
最佳答案
试试这个:
RippleDrawable rippleDrawable = (RippleDrawable) button.getBackground();
Drawable.ConstantState state = rippleDrawable.getConstantState();
try {
Field colorField = state.getClass().getDeclaredField("mColor");
colorField.setAccessible(true);
ColorStateList colorStateList = (ColorStateList) colorField.get(state);
int rippleColor = colorStateList.getDefaultColor();
} catch (NoSuchFieldException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
关于android - 如何获取带有波纹可绘制的按钮的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36352945/