
鸿蒙开源组件——openharmony多主题库
MagicaSakura
项目介绍
- 项目名称:MagicaSakura
- 所属系列:openharmony 第三方组件适配移植
- 功能:MagicaSakura是一个openharmony多主题库,支持每日色彩主题和夜间主题
- 项目移植状态:主功能完成
- 调用差异:无
- 开发版本:sdk6,DevEco Studio2.2 beta1
- 基线版本:Releases 0.1.8
效果演示
安装教程
1.在项目根目录下的build.gradle文件中,
2.在entry模块的build.gradle文件中,
如无法运行,删除项目.gradle,.idea,build,gradle,build.gradle文件, 并依据自己的版本创建新项目,将新项目的对应文件复制到根目录下
使用说明
- 步骤1 :
在element/color.json中定义你的应用全局主题颜色变量,如:
必须使用这些颜色变量在布局xml中,这些xml文件需要自动适应不同的主题样式。如果你使用直接的颜色值或其他颜色变量,将失去适应不同的主题风格功能
- 步骤2 :
实现ThemeUtils。在应用程序中切换颜色界面;你可以结合颜色变量定义自己的规则(在步骤1中定义),在选择不同主题时切换不同的颜色。
- 步骤3 :
这个库提供了一系列Tintxxx小控件,其中包括最常见的ohos小控件。
当你的应用中的某些地方需要适配多个主题时,你可以使用这些Tintxxx widgets 结合颜色变量(在步骤1中定义)或者颜色json(使用颜色变量)或绘制xml(颜色变量),那么它们将自动适应。
-
绘制 Xml Tintxxx widgets支持常见的绘制 xml标签,如, , 等。
(注意:当使用不支持绘制的xml标签时,就不能适应多主题)
下面是一个例子:
Layout Xml Tintxxx控件可以直接在布局xml中着色,支持最常见的openharmony可绘制attrSet,如background, src, drawableLeft, button等。
(注意:在布局xml中直接着色时,必须使用颜色变量(在步骤1中定义),否则适应不同的主题样式将不起作用)
下面是一个例子:
-
下面是支持Tintxxx控件attr的表格:
attr tint background backgroundTint src imageTint button compoundButtonTint drawableXxx drawableXxxTint progress progressTint,progressIndeterminateTint track trackTint thumb thumbTint -
Java code Java代码Tintxxx小控件也可以在java代码中着色。着色绘制的方式与ohos原生方法相同。
下面是一个例子:
步骤4 :
库提供实用工具类Themeutils来满足一些特殊需求或您自己的定制小部件。
实用程序类Themeltils主要提供了着色绘制和转换颜色变量(在步骤1中定义)的方法,当前的主题color.
测试信息
CodeCheck代码测试无异常
CloudTest代码测试无异常
病毒安全检测通过
当前版本demo功能与原组件基本无差异
版本迭代
- 1.0.2
版权和许可信息
