咱们上次在《Android美化综述》中向你们简单的介绍了Android美化的大体脉络,相信看过的朋友都有必定的了解。今天咱们就来看看一个实例——全局透明背景的实现方法。所谓全局背景,就是设置背景和其余等都是同一张图片!这个你们应该很清楚,透明就更不用说了。这篇文章就来介绍下Android手机全局透明背景的两种修改方法。你们要看仔细了,安卓通用!
php
首先你们须要提取原生态没有任何修改过的framework-res.apk,而后反编译framework-res.apk。这里特别交代一下,全局背景化透明化的修改是有两种修改的方法,你们能够根据本身的喜爱来选择修改的方法。web
第一种修改方法:spa
反编译以后,咱们打开路径:res/values/styles.xmlorm
<style name="Theme"> 咱们先修改这个安卓系统美化的最基础最大的“Theme”——中文主题,咱们所修改的美化都是“parent”(来源,根源)这个“Theme”里面的内容。
xml
这里将教程
<item name="colorBackground">@color/background_dark</item> 修改成 <item name="colorBackground">@color/transparent</item>
图片
将ci
<item name="windowBackground">@drawable/screen_background_dark</item> 修改成 <item name="windowBackground">@drawable/screen_background_dark_transparent</item>
get
将it
<item name="windowShowWallpaper">false</item> 修改成 <item name="windowShowWallpaper">true</item>
好了,"Theme"下的内容修改完了。不过这里须要解释一点,有的机油说为何我刷了全局背景与全局透明的美化包以后,个人界面翻动的时候,桌面的壁纸怎么总是跟着跑呢?还有就是会修改全局背景的机油就问了,咱们以前修改的全局背景只有上面两段代码,没有最后的一段呀,怎么回事,不会修改以后有什么“Bug”吧?问得好,最后修改的这段代码,你看仔细了原生态为“false”修改以后为“true”就是这个你们刷过全局背景桌面壁纸为何会跟着跑的缘由所在,“false”中文意思假的,而“true”中文意思是真的,这就决定了前面的“windowShowWallpaper”中文意思窗口显示墙纸是否要跟着你的界面来跑的缘由,你们这就知道缘由所在了吧,若是有喜欢界面翻转的时候桌面跟着翻转的那你就修改最后这一段,若是不喜欢的化,那你就不用修改最后这一段,就这么简单。
代码
</style><style name="Theme.NoTitleBar" parent="@style/Theme">
<item name="windowNoTitle">true</item>
在下面添加一段代码
<item name="windowShowWallpaper">false</item>
代码
</style><style name="Theme.Black" parent="@style/Theme">这个主题下最后底下添加<item name="windowShowWallpaper">false</item>这里说明一下,如下添加的代码,就不彻底整段代码写出来,你们只要看到我写出来的每个代码,你把添加的代码添加到这个整段主题代码最后就好了。
代码
</style> <style name="Theme.Black.NoTitleBar.Fullscreen" parent="@style/Theme.Black.NoTitleBar">添加 <item name="windowShowWallpaper">false</item>
代码
</style> <style name="Theme.Light" parent="@style/Theme> 添加 <item name="windowShowWallpaper">false</item>
代码
</styie> <style name="Theme.Translucent" parent="@style/Them> 添加 <item name="windowShowWallpaper">false</item>
代码
</styie> <style name="Theme.Panel" parent="@style/Theme"> 添加 <item name="windowShowWallpaper">false</item>
好了,这就修改完了,接下来,还要修改一个关键地方,这个也是很重要的。
路径:res/values/drawables.xml
代码
<item type="drawable" name="screen_background_dark">#ff000000</item> 添加 <item type="drawable" name="screen_background_dark">#00000000</item>
修改这里后,背景能加自定义的图片,但是屏幕仍是黑的,修改成透明以后,就OK了,最能体现的就是你在修改拨号面板背景就透明了。这里全局背景化与全局透明的须要修改的XML文件所有修改完毕,接下来须要你本身挑选喜欢的两张图片,大小320 480 png(竖屏) 480 320 png(横屏),都命名为 “screen_background_dark_transparent.png” 竖屏图片放进到res/drawable-land-mdpi 之下,横屏图片放进到res/drawable-mdpi 之下。
接下来就回编译吧,回编译以后,重新生成的apk里面提取resources.arsc替换到原生态的framework-res.apk里面,保存,存储,退出。而后再把那两张图片分别在放进到各自的位子里面就OK了,这下全局背景化透明化修改所有完成。
第二种修改方法:
这里与上面的不一样之处就是在“Theme"这个主题下。
将代码
<item name="colorBackground">@color/background_dark</item> 修改成<item name="colorBackground">@color/transparent</item>
将代码
<item name="windowBackground">@drawable/screen_background_dark</item> 添加 <item name="windowBackground">@drawable/window_background_texture</item>
将代码
<item name="cacheColorHint">?colorBackgroundCacheHint</item> 添加 <item name="cacheColorHint">@color/transparent</item>
修改这里就是为了界面翻转过分的时候是没有系统缓冲的黑颜色。
而后路径:res/values/drawables.xml
将代码
<item type="drawable" name="screen_background_dark">#ff000000</item> 修改成 <item type="drawable" name="screen_background_dark">#00000000</item>
以后只须要挑选本身喜欢的一张 640 480 png 图片命名为 window_background_texture.png 放进res/drawable-mdpi 之下,而后就能够回编译了。回编译以后的步骤同上。
这就是全局背景化透明化修改的教程,你学会了吗?
附:安卓美化综述:
http://www.morecomtech.com/community/article/jsfa/w2015100008.php