如何使用Android GreenMatter lib更改CodeA中的ColorAccent,ColorPrimary?

时间:2015-06-03 09:55:56

标签: android override

您好我想使用GreenMatter(https://github.com/negusoft/GreenMatter)lib通过代码更改ColorAccent,ColorPrimary等(在运行时以编程方式覆盖颜色)。

我已使用https://github.com/negusoft/GreenMatter/wiki/Basic-GreenMatter-setup在我的Android项目中设置了lib。但通过分析Greenmatter代码,我无法找出如何使用例如整数(颜色)来改变 我的Android项目中的ColorAccent或ColorPirmary。

1 个答案:

答案 0 :(得分:1)

按照setup guide中的步骤操作后,您应该Activity扩展MatActivity。在Activity中,您可以通过覆盖overridePalette()并在MatPalette对象参数中根据需要设置颜色并将其返回来更改主题的默认颜色。

public class MyActivity extends MatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }

    @Override
    public MatPalette overridePalette(MatPalette palette) {

        palette.setColorPrimary(Color.GRAY);
        palette.setColorPrimaryDark(Color.DKGRAY);
        palette.setColorAccent(Color.LTGRAY);
        return palette;
    }
}