赞
踩
Android 实现应用内换肤的常用方式(两种):
浅色模式:
深色模式:
这里使用第三方框架 PaintedSkin。
新建 Android application 工程。
皮肤工程包名不能和宿主应用包名相同。
将需要换肤的资源放置于res对应目录下
如果想要替换 Button
文字颜色,在 apk 的 res/values/colors.xml 的目录下有如下资源:
<color name="textColor">#FFFFFFFF</color>
在皮肤包对应 res/values/colors.xml 的目录下有如下资源:
<color name="textColor">#FF000000</color>
如果想要替换 Button
背景图片,在 apk 中有 res/mipmap/bg_button.png ,在皮肤包中 res/mipmap/bg_button.png
在皮肤包工程的 build.gradle
文件中添加:
applicationVariants.all { variant ->
variant.outputs.all { output ->
outputFileName = "xxx.skin"
}
}
AssetManager
和反射机制,可以在运行时动态加载外部APK或资源目录中的资源文件。Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。