轻松改变app的配色方案 - Colorful

2016-10-05      1430      Android
项目简介

Colorful

Colorful是一个动态主题库,让你可以轻松改变你的app的配色方案。 

Installation

在你的maven源文件里添加jitpack 

allprojects {
    repositories {
        ...
        maven { url "https://jitpack.io" }
    }
}

将Colorful作为一个依赖添加到 build.gradle

dependencies {
    compile 'com.github.garretyoder:Colorful:1.1'
}

使用方法

在你的Application类中,你需要初始化Colorful: 

public class SampleApp extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        Colorful.init(this);
    }
}

任何你想设置主题的Activity都需要从CActivity扩展。 

public class MainActivity extends CActivity

你可以设置默认主题颜色,Colorful将会使用defaults()方法。 

public class SampleApp extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        Colorful.defaults()
                .primaryColor(Colorful.ThemeColor.RED)
                .accentColor(Colorful.ThemeColor.BLUE)
                .translucent(false)
                .dark(true);
        Colorful.init(this);
    }
}

你可以使用config方法在任何时间设置颜色: 

Colorful.config(this)
                .primaryColor(Colorful.ThemeColor.RED)
                .accentColor(Colorful.ThemeColor.BLUE)
                .translucent(false)
                .dark(true)
                .apply();

之后你必须调apply();来保存改变。 

Colorful将会为你处理保存和加载你的主题参考。  

颜色选择

Colorful有一个内置的颜色选择对话框,将会返回一个你可以直接传递到Colorful的ThemeColor对象。 

public class MainActivity extends CActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        setSupportActionBar(((Toolbar) findViewById(R.id.toolbar)));

        ColorPickerDialog dialog = new ColorPickerDialog(this);
        dialog.setOnColorSelectedListener(new ColorPickerDialog.OnColorSelectedListener() {
            @Override
            public void onColorSelected(Colorful.ThemeColor color) {
                //TODO: Do something with the color
            }
        });
        dialog.show();
    }
}

参考条目

Colorful有一个内置参考条目可以制动设置Colorful的颜色。 

使用colorpicker:primary_color和colorpicker:accent_color来告诉Colorful哪个值可以设置。 

<org.polaric.colorful.ColorPickerPreference
            android:title="@string/primary_color"
            android:summary="@string/primary_color_desc"
            colorpicker:primary_color="true"/>

        <org.polaric.colorful.ColorPickerPreference
            android:title="@string/accent_color"
            android:summary="@string/accent_color_desc"
            colorpicker:accent_color="true"/>

截屏