在压制状态下将调色板颜色应用于fab

时间:2015-01-02 20:37:38

标签: android palette floating-action-button

有人可以给我一个提示,告诉我如何将Palette类生成的颜色应用到按下状态的fab按钮? 我正在使用监听器获取生成的颜色,如 here ,我可以使用public void setPalette(Palette palette)fab.setBackgroundColor(palette.get...())操作中应用默认状态背景颜色,但我不知道是否有方法来设置按下状态的背景颜色,或者我是否必须在工厂上使用OnClick或OnTouch侦听器来为事件设置合适的背景颜色。

1 个答案:

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

你们都已经完成了,我花了很多时间来寻找这个。希望它可以帮助某人。