如何使用 Android GreenMatter 库在代码中更改 ColorAccent、ColorPrimary?

How to use the Android GreenMatter lib to change ColorAccent, ColorPrimary in Code?

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

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

按照 setup guide 中的步骤进行操作后,您应该有一个扩展 MatActivityActivity。在您的 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;
    }
}