有人可以给我一个提示,告诉我如何将Palette类生成的颜色应用到按下状态的fab按钮?
我正在使用监听器获取生成的颜色,如 here ,我可以使用public void setPalette(Palette palette)
在fab.setBackgroundColor(palette.get...())
操作中应用默认状态背景颜色,但我不知道是否有方法来设置按下状态的背景颜色,或者我是否必须在工厂上使用OnClick或OnTouch侦听器来为事件设置合适的背景颜色。
答案 0 :(得分:3)
嘿,我知道这已经晚了但可能对某人有所帮助
您执行以下变量声明
int[][] states = new int[][] {
new int[] { android.R.attr.state_enabled}, // enabled
new int[] {-android.R.attr.state_enabled}, // disabled
new int[] {-android.R.attr.state_checked}, // unchecked
new int[] { android.R.attr.state_pressed} // pressed
};
int[] colors = new int[] {
Color.RED,
Color.BLUE,
Color.GREEN,
Color.YELLOW
};
(Button) btn = (Button) findViewById(R.id.fab).setBackgroundTintList(new ColorStateList(states, colors));
你们都已经完成了,我花了很多时间来寻找这个。希望它可以帮助某人。