通信人家园

 找回密码
 注册

只需一步,快速开始

短信验证,便捷登录

搜索

军衔等级:

  上等兵

注册:2015-7-15
跳转到指定楼层
1#
发表于 2015-11-19 10:34:32 |只看该作者 |倒序浏览

       我们上次在《Android美化综述》中向大家简单的介绍了Android美化的大致脉络,相信看过的朋友都有一定的了解。今天我们就来看看一个实例——全局透明背景的实现方法。所谓全局背景,就是设置背景和其他等都是同一张图片!这个大家应该很清楚,透明就更不用说了。这篇文章就来介绍下Android手机全局透明背景的两种修改方法。大家要看仔细了,安卓通用!

首先大家需要提取原生态没有任何修改过的framework-res.apk,然后反编译framework-res.apk。这里特别交代一下,全局背景化透明化的修改是有两种修改的方法,大家可以根据自己的喜好来选择修改的方法。

第一种修改方法:

反编译之后,我们打开路径:res/values/styles.xml


<style name="Theme">        我们先修改这个安卓系统美化的最基础最大的“Theme”——中文主题,我们所修改的美化都是“parent”(来源,根源)这个“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/screen_background_dark_transparent</item>

<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 之下,然后就可以回编译了。回编译之后的步骤同上。

这就是全局背景化透明化修改的教程,你学会了吗?


转自:墨科之家


举报本楼

您需要登录后才可以回帖 登录 | 注册 |

手机版|C114 ( 沪ICP备12002291号-1 )|联系我们 |网站地图  

GMT+8, 2024-11-20 09:19 , Processed in 0.465450 second(s), 15 queries , Gzip On.

Copyright © 1999-2023 C114 All Rights Reserved

Discuz Licensed

回顶部