Android应用切换皮肤功能实现
2014-02-28 15:34
204 查看
[align=left]个人觉得第二个方法是比较好的实现方式[/align] 转自:http://www.eoeandroid.com/thread-318159-1-1.html [align=left]现在大多数android应用都支持切换皮肤的功能。比如千千静听,墨迹天气等等。本文介绍两种切换皮肤的方法。[/align] [align=left]1.第一种是通过安装皮肤apk的方式。[/align] [align=left]当安装了皮肤apk包之后,主程序只需要读取皮肤apk包里的图片资源。就可以实现切换皮肤了。[/align] [align=left]要获取apk皮肤包里的图片资源,需要获取到皮肤apk包的上下文Context.[/align] [align=left]图片资源的名字和位置要一致。好比如整个界面的背景mainbg.jpg,在主程序和皮肤包apk的位置都在res\drawable-hdpi\mainbg.jpg.下。[/align] [align=left]然后通过下面这个方法:[/align] [align=left]可以看到,首先是根据通过下面这个方法,获取到对应资源的id,然后再更加id获取到对应的图片资源。[/align] [align=left]因为皮肤apk包的上下文经常用到,因此我用一个静态变量保存了起来。假如在皮肤包apk里找不到对应的图片资源,就在主程序的图片资源里找,不至于图片找不到,让界面空白。[/align] [align=left]2.第二种方式是把所有图片资源放到一起,打成一个压缩包。应用的时候把图片解压到sd卡或者是应用的data目录下。[/align] [align=left]通过下面方法,得到图片资源的Drawable。在把Drawable 设置到控件上。[/align] [align=left]context.getFilesDir().getPath() + File.separator + "skin"+ File.separator下。[/align] [align=left]主程序只实现一个简单的换肤功能。就只有两个界面,一个是主界面,它的背景显示一个背景,就是各个皮肤。另外一个是设置皮肤界面。[/align] [align=left]点击后就到了设置皮肤的界面:[/align] [align=left]另外两个皮肤工程分别是晴天皮肤和夜晚皮肤。这两个工程非常简单,其实根本不需要activity。只需要把图片mainbg.jpg放到res\drawable-hdpi\mainbg.jpg.下。[/align] [align=left]另外两个闪电皮肤zip包和大雪皮肤zip包,我已经放到了主程序里。点击按钮就解压。[/align] [align=left]当然举例子少不了苍老师,呵呵。[/align] [align=left]当点击苍老师皮肤zip时,会模拟从网络下载zip包实现切换皮肤。[/align] |
相关文章推荐
- #爱加密杯#Android应用切换皮肤功能实现
- Android应用切换皮肤功能实现(二)
- Android应用切换皮肤功能实现
- Android 实现切换主题皮肤功能(类似于众多app中的 夜间模式,主题包等)
- Android app应用多语言切换功能实现
- Android app应用多语言切换功能实现
- Android实现app应用多语言切换功能
- Android app应用多语言切换功能实现
- apk分享: Android应用更换皮肤功能的实现思路教程。
- Android 实现切换主题皮肤功能(类似于众多app中的 夜间模式,主题包等)
- Android应用中图片浏览时实现自动切换功能的方法详解
- Android app应用多语言切换功能实现
- Android基础--Android app应用多语言切换功能实现
- Android 实现切换主题皮肤功能(类似于众多app中的 夜间模式,主题包等)
- Android app应用多语言切换功能实现
- Android 实现切换主题皮肤功能(类似于众多app中的 夜间模式,主题包等)
- Android app应用多语言切换功能实现
- apk分享: Android应用更换皮肤功能的实现思路教程。
- Android app应用多语言切换功能实现
- Android应用实现更换皮肤功能