edit_note帖子
222
stars积分
98,767
event加入
2011-06-18
安卓交流
安卓-全局透明背景
schedule发表于 2013-09-28 17:51:00
visibility查看 1,831
chat_bubble回复 200
#1 楼主
全局透明美化教程,CM和官方Rom均 适用,需要有一点反编译的基础。 很多 Rom作者都会做全局透明,我的方法可 能和他们的不一样,但效果应该是一致 的。
整个过程只需反编译framework-res.apk文件。
一.修改res/values/ 下的 colors.xml ,在 里面的颜色代码中间添加一行代 码: <color name=“background_all“>#be000000</color> 我这里是定义一个全局背景色,具有一 定的透明度,而不是100%透明,后面 要用到这个颜色。 #be000000 是颜色代码,#后面有8位, 前两位表示透明度,后面6位为颜色。
二.修改res/values/ 下的 styles.xml,这 是各种*风格的定义文件. 本帖隐藏的内容 1.找到主风格 <style name=“Theme“> 在它的定义代码段内找到 windowBackground 的那行,将其值改 为 @color*ground_all 在它的定义代码段内找到 windowShowWallpaper 的那行,将其值 改为 true
2.找到子风格 <style name=“Theme.Black“ parent=“@style/Theme“> 在它的定义代码段内找到 colorBackground 的那行,将其值改为 @color*ground_all 在它的定义代码段内找到 windowBackground 的那行,将其值改 为 @color*ground_all 添加一行 <item name=“windowShowWallpaper“>false</item>
3. 找到子风格 <style name=“Theme.Dialog“ parent=“@style/Theme“> 添加一行 <item name=“windowShowWallpaper“>false</item>
4.找到子风格 <style name=“Theme.Light“ parent=“@style/Theme“> 添加一行 <item name=“windowShowWallpaper“>false</item>
5.找到子风格<style name=“Theme.Translucent“ parent=“@style/Theme“> 添加一行 <item name=“windowShowWallpaper“>true</item>
6.找到子风格<style name=“Widget.ListView“ parent=“@style/Widget.AbsListView“>和 <style name=“Widget.ListView.White“ parent=“@style/Widget.AbsListView“> 在它的定义代码段内分别找到 cacheColorHint 的那行,将其值改为 @color/transparent
7.找到子风格<style name=“Theme.No*“ parent=“@style/Theme“> 添加一行 <item name=“windowShowWallpaper“>false</item>
8. 找到子风格 <style name=“Theme.Panel“ parent=“@style/Theme“> 添加一行 <item name=“windowShowWallpaper“>false</item>
9.找到子风格<style name=“Theme.WallpaperSettings“ parent=“@style/Theme“> 在它的定义代码段内找到 windowBackground 的那行,将其值改 为 @color*ground_all
注:大家可以看到<item name=“windowShowWallpaper“>false</item>这行代码比较关键 请注意 5 中,后面的值不是 false,而是 true 本人水平有限,欢迎大家多多指 正。
原则上,到这里。全局透明已经完成 了,接下来直接回编译即可。
给个精。
整个过程只需反编译framework-res.apk文件。
一.修改res/values/ 下的 colors.xml ,在 里面的颜色代码中间添加一行代 码: <color name=“background_all“>#be000000</color> 我这里是定义一个全局背景色,具有一 定的透明度,而不是100%透明,后面 要用到这个颜色。 #be000000 是颜色代码,#后面有8位, 前两位表示透明度,后面6位为颜色。
二.修改res/values/ 下的 styles.xml,这 是各种*风格的定义文件. 本帖隐藏的内容 1.找到主风格 <style name=“Theme“> 在它的定义代码段内找到 windowBackground 的那行,将其值改 为 @color*ground_all 在它的定义代码段内找到 windowShowWallpaper 的那行,将其值 改为 true
2.找到子风格 <style name=“Theme.Black“ parent=“@style/Theme“> 在它的定义代码段内找到 colorBackground 的那行,将其值改为 @color*ground_all 在它的定义代码段内找到 windowBackground 的那行,将其值改 为 @color*ground_all 添加一行 <item name=“windowShowWallpaper“>false</item>
3. 找到子风格 <style name=“Theme.Dialog“ parent=“@style/Theme“> 添加一行 <item name=“windowShowWallpaper“>false</item>
4.找到子风格 <style name=“Theme.Light“ parent=“@style/Theme“> 添加一行 <item name=“windowShowWallpaper“>false</item>
5.找到子风格<style name=“Theme.Translucent“ parent=“@style/Theme“> 添加一行 <item name=“windowShowWallpaper“>true</item>
6.找到子风格<style name=“Widget.ListView“ parent=“@style/Widget.AbsListView“>和 <style name=“Widget.ListView.White“ parent=“@style/Widget.AbsListView“> 在它的定义代码段内分别找到 cacheColorHint 的那行,将其值改为 @color/transparent
7.找到子风格<style name=“Theme.No*“ parent=“@style/Theme“> 添加一行 <item name=“windowShowWallpaper“>false</item>
8. 找到子风格 <style name=“Theme.Panel“ parent=“@style/Theme“> 添加一行 <item name=“windowShowWallpaper“>false</item>
9.找到子风格<style name=“Theme.WallpaperSettings“ parent=“@style/Theme“> 在它的定义代码段内找到 windowBackground 的那行,将其值改 为 @color*ground_all
注:大家可以看到<item name=“windowShowWallpaper“>false</item>这行代码比较关键 请注意 5 中,后面的值不是 false,而是 true 本人水平有限,欢迎大家多多指 正。
原则上,到这里。全局透明已经完成 了,接下来直接回编译即可。
给个精。
全部回复 (200)
2013-10-11 13:38:00
#42
爸爸妈妈
2013-10-12 00:01:00
#43
摩顶至足迹
2013-10-18 22:39:00
#44
-_-#
2013-10-19 14:37:00
#45
:j:*:*:*:h
2013-10-25 13:40:00
#46
顶
2013-10-25 13:57:00
#47
tgat
2013-10-25 18:07:00
#48
找我
2013-10-25 23:11:00
#49
了了了了了了了了了
2013-10-26 07:07:00
#50
来了来了
2013-10-26 10:25:00
#51
咯默默默默
2013-10-27 00:44:00
#52
好
2013-10-27 00:57:00
#53
拜拜广告费
2013-10-27 10:42:00
#54
你们的
2013-10-27 13:36:00
#55
林
2013-10-27 17:33:00
#56
你们的
2013-10-30 22:56:00
#57
学习学习
2013-10-30 22:58:00
#58
高人!!!!!!!!!!
2013-11-30 22:08:00
#59
学长
2013-12-05 09:42:00
#60
。。。
2013-12-15 23:22:00
#61
呵呵哈哈哈
登录 后才能回复
flag举报帖子