Android美化之全局透明背景


我们上次在《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”中文意思窗口显示墙纸是否要跟着你的界面来跑的原因,大家这就知道原因所在了吧,如果有喜欢界面翻转的时候桌面跟着翻转的那你就修改最后这一段,如果不喜欢的化,那你就不用修改最后这一段,就这么简单。

代码

&lt;/style&gt;&lt;style name="Theme.NoTitleBar" parent="@style/Theme"&gt;

&lt;item name="windowNoTitle"&gt;true&lt;/item&gt;

在下面添加一段代码

&lt;item name="windowShowWallpaper"&gt;false&lt;/item&gt;

代码

</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

更多相关文章

  1. 关于代码家(干货集中营)共享知识点汇总系列——Android
  2. 《Android第一行代码》笔记
  3. Android开心消消乐代码实例详解
  4. Android同一套代码打多个APP包并能够在同一个手机上安装运行
  5. android实现短按电源键关机的实现代码
  6. android sqlite 批量插入数据优化代码
  7. android textview背景色动画
  8. Android 几种加密解密的方法(仅代码)

随机推荐

  1. 搭建android开发环境问题汇总
  2. 【转】Android 文件系统的权限设置
  3. Android音效SoundPool问题:soundpool 1 no
  4. Android模拟器学framework和driver之传感
  5. android基础之EditText
  6. Android模拟器 通过本地电脑上网
  7. 【Android笔记】Activity涉及界面全屏的
  8. ?attr , ?android:attr 解析
  9. Android.9图片讲解(二)
  10. Activity学习(二):Activity的启动模式(转载)