将调色板颜色应用到 fab on pressed 状态
Apply Palette color to fab on pressed state
谁能告诉我如何将 Palette 类生成的颜色应用于按下状态的 fab-button?
我正在使用监听器来获取所描述的生成颜色 here,我可以使用 fab.setBackgroundColor(palette.get...())
在 public void setPalette(Palette palette)
操作中应用默认状态背景颜色] 但我不知道是否有设置按下状态背景颜色的方法,或者我是否必须在 fab 上使用 OnClick 或 OnTouch 监听器来为事件设置适当的背景颜色。
嘿,我知道这已经晚了,但它可能会对某人有所帮助
你做下面的变量声明
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));
你的都完成了,我花了很多时间来寻找这个。希望对大家有帮助。
谁能告诉我如何将 Palette 类生成的颜色应用于按下状态的 fab-button?
我正在使用监听器来获取所描述的生成颜色 here,我可以使用 fab.setBackgroundColor(palette.get...())
在 public void setPalette(Palette palette)
操作中应用默认状态背景颜色] 但我不知道是否有设置按下状态背景颜色的方法,或者我是否必须在 fab 上使用 OnClick 或 OnTouch 监听器来为事件设置适当的背景颜色。
嘿,我知道这已经晚了,但它可能会对某人有所帮助
你做下面的变量声明
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));
你的都完成了,我花了很多时间来寻找这个。希望对大家有帮助。