首页 > 其他分享 >动态主题库Colorful,容易地改变App的配色方案

动态主题库Colorful,容易地改变App的配色方案

时间:2023-05-01 16:11:12浏览次数:50  
标签:ThemeColor Colorful App extends void 配色 onCreate public


Colorful是一个动态主题库,允许您很容易地改变App的配色方案



动态主题库Colorful,容易地改变App的配色方案_github



动态主题库Colorful,容易地改变App的配色方案_ide_02



在Application中初始化Colorful

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



如果你想设置默认的主题色,可以使用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);
    }
}



当然你也可以随时改变主题,只要调用一下apply()即可:


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



想使用主题,还得让你的Activity继承CActivity:


public class MainActivity extends CActivity




Colorful内置了一个ColorPickerDialog,可以直接设置主题:


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还内置了一个preference可以自动设置主题


用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"/>




github


https://github.com/garretyoder/Colorful

标签:ThemeColor,Colorful,App,extends,void,配色,onCreate,public
From: https://blog.51cto.com/u_5454003/6238911

相关文章

  • 自定义Behavior实现AppBarLayout越界弹性效果
    一、继承AppBarLayout.BehaviorAppBarLayout有一个默认的Behavior,即AppBarLayout.Behavior,AppBarLayout.Behavior已注解的方式设置给AppBarLayout。@CoordinatorLayout.DefaultBehavior(AppBarLayout.Behavior.class)publicclassAppBarLayoutextendsLinearLayout{.........
  • 关于uniapp表单验证(uview)的坑
    uniapp在验证表单出现this.$refs.uForm.setRules(this.rules)ErrorinonReadyhook:"TypeErr的错误。在webh5在上,就会容易错误,语句比较严格。出现this.$refs.uForm.setRules(this.rules)ErrorinonReadyhook:"TypeErr的的原因是在onReady写两条初始化验证onReady()......
  • 改手机串号技术原理能绕过APP检测
    随着智能手机的普及,应用程序的数量和种类也在不断增加。不同的应用程序可能需要不同的硬件和软件支持,导致一些应用程序无法在所有手机上运行。于是,一些用户开始探索绕过应用程序检测的方法,以使用这些应用程序。其中一个方法是修改手机串号。那么,改手机串号技术原理是否能够......
  • Django4全栈进阶之路23 项目实战(报修类型表):应用程序命名空间app_name和分页组件pagina
    1、应用程序命名空间app_namefromdjango.urlsimportpathfrom.importviewsfrom.viewsimportRepairDetailViewapp_name='repair'urlpatterns=[path('repair_types/',views.RepairTypeListView.as_view(),name='repair_type_list�......
  • 03 Real-time Environment Mapping
    1.ShadingfromEnvionmentLighting--SplitSum使用IBL(imagebasedlighting)做光照积分,不考虑visibility。可以使用蒙特卡洛积分,但是需要做sampling,所以很慢。一般使用sampling的手段尽量避免在RTR中使用。如果BRDF是glossy则support小,如果diffuse则smooth,则BRDF可以......
  • Artifact Appendix 用处
    在论文中,ArtifactAppendix(实证附录)通常是指附带的、与研究相关的软件、数据、工具、代码等实证材料和文档的集合。这些实证材料可以帮助读者验证研究的正确性、复现研究结果,也可以帮助其他研究者进一步拓展和改进研究工作。ArtifactAppendix的内容可能因研究内容的不同而有所不......
  • uniapp android app 铃声静音,真正的免打扰
    需要加入这个权限:<uses-permissionandroid:name=\"android.permission.ACCESS_NOTIFICATION_POLICY\"/>代码:/***设置铃声为静音,媒体音量不变(免打扰)**/setDisturb(){//#ifd......
  • 20042124_chappie
    [换成自己的源]docker-machinesshdefaultsed-i"s|EXTRA_ARGS='|EXTRA_ARGS='--registry-mirror=https://2w188x2k.mirror.aliyuncs.com|g"/var/lib/boot2docker/profileexitdocker-machinerestartdefault [打开rknndocker]dockerrun-t-i--privilege......
  • Ext.ux.GMapPanel.js组件的使用 示例
    Ext.ux.GMapPanel.js组件的使用示例 效果: 创建调用的html:<html><head><metahttp-equiv="Content-Type"content="text/html;charset=utf-8"><title>GMapWindowExample</title><linkrel="stylesheet"type=&......
  • 苹果商店上架流程_App上架苹果流程及注意事项
    苹果商店上架流程_App上架苹果流程及注意事项APP上架是:APP应用从提交审核到上架整个过程。目的是让应用展示在APPStore上获取流量及用户 一、IOS上架整个流程 1、申请开发者账号 2、创建APPID及申请证书 3、itunesconnect创建APP 4、打包上传APP 5、提交......