如果手机上如果有主题商店,打开主题商店,选择主题,点击使用即可。
如果手机系统版本较低,一般是没有自带主题商店,可以下载第三方主题。安装后打开,选择主题设置即可。
手机主题其特点类似Windows的主题功能,使手机用户通过下载某个自己喜欢的手机主题程序就可以一次设定好相应的待机、屏幕保护程序、铃声以及操作界面和图标等内容,使用户可以更快捷方便的将自己心爱的手机实现个性化。根据主题的不同,用户在使用手机时感觉身历其境,不再只是面对一成不变手机操作界面、和色彩。
1、手机系统:Android 801。
2、方法:进入微信,选择底部标签“我”---- 设置。
3、在设置中选项中找到通用设置。
4、在通用设置中找到深色模式。默认是跟随系统。点击进入深色模式设置。
5、因为默认是跟随系统,所以这里要关闭跟随系统,这是会弹出模式选择,这里选择深色模式。选择完毕后在右上方点击完成。
6、设置完成后,根据微信提示重启微信,重启后微信操作界面就变成黑色主题的了。
目的:
为了加强用户体验,增强品牌效应,使我们的产品有自己独特的风格,主题的定制将会是必然趋势……
然而Android原生系统是不支持主题定制的,所以如何来定制主题,如何做得更好,需要大家集思广益……
策略:
将介绍两种定制主题的机制:
1根据Android Configuration Qualifier机制,加入我们自己的JRDTheme定制。
2用主题包的形式,根据用户选择不同的主题,而加载不同主题包中的资源。
基本原理:
首先介绍方式一:
Android Configuration Qualifier
Android 系统为一个项目提供了多套可供选择的资源,通过命名特殊的资源文件夹来区别它们。系统在运行的时候,根据设备的当前配置为每个应用加载合适的资源。
这些不同的资源都是放在每个应用的res/目录下面的,特殊的命名方式是-:
: 资源文件夹的名字,与默认资源文件夹保持一致
: 根据设备不同配置,需要使用的资源文件夹名字
Android系统根据优先级的先后顺序已经支持多种Configuration Qualifier,如图1:
如何添加 Jrd Theme Resources
JrdTheme 的核心策略是当我们设定了不同的主题后,会自动的替换我们想要替换的资源(Framework&App)。具体步骤如下:
1 工程师从UE哪里获得我们想要改变的主题资源,
2把这些资源放到对应模块的res/目录下,以Contacts模块为例,假如我们想要定制drawable、color、layout。
原来在Contacts模块中默认的资源目录如下:
res/
layout/
mainxml
infoxml
drawable/
iconpng
values/
colorsxml
定制后的资源目录如下:
res/
layout/
mainxml
infoxml
layout-jrdthemexxx/
mainxml
infoxml
drawable/
iconpng
drawable-jrdthemexxx/
iconpng
values/
colorsxml
values-jrdthemexxx/
colorsxml
Notes: jrdthemexxx 是其中一个 主题的 Qualifier,如果有多个主题,那么将会有多个jrdthemexxx存在。
3与原来一样编译这些模块,push到手机中即可。
这只是一个guide ,具体实现还要细化…… 目前在diablo、beetle上面已经用这种方式实现了……我在smartiii上尝试过,机制没问题,但是改动的范围太大了,比较麻烦。
方式二:
核心思想:系统中有多套主题资源包,并且应用可以用相同的资源ID来访问不同资源包中对应的资源。 Android原生系统的资源访问流程 对应用来说,资源访问主要有下面三种方
式:
第一、比较普遍的方式是使用xml定义,并且通过AAPT工具生成一个R文件,列出资源的索引来让Android系统自己去遍历整个资源树的方式来访问。
第二、通过Resources接口来访问,使用Resources类的getDrawable、getString等接口来获取资源。
第三、通过AssetManager类的接口去访问,使用这个类的open方法来返回一个InputStream对象得到资源。
其实这三个访问方式只是Android资源访问中整个流程中在不同层次对外提供的三个接口,到底层的实现都是殊途同归的。
因此我们实际上需要修改的部分主干是在访问资源具体路径前,按照当前系统主题设置访问不同资源APK下的文件
即是把原生Android中资源ID和资源文件路径之间一对一的关系改为一对多的关系。
例子如下:如果原有资源ID和资源文件路径关系为:
Rdrawableimage01 = 0x7F020001
通过系统的资源查找之后找到文件路径为 /system/app/frameworks-resapk下的res/drawable_hdpi/iconpng
在AssetManager native中去读取资源并上传。
那么我们需要做的是在传入路径去读取资源时把文件路径替换为/data/app/SystemTheme01apk下的res/drawable_hdpi/iconpng
欢迎分享,转载请注明来源:品搜搜测评网