theme-不同主题资源更改
2015-02-28 10:10
246 查看
1.找到了影响桌面小部件的布局文件packages/apps/Mms$ vim res/layout/widget.xml
修改里面的背景颜色属性,可以实现预期效果,至于里面的 <LinearLayout
android:id="@+id/widget_header"
android:layout_width="match_parent"
android:layout_height="48dp"
android:orientation="horizontal"
android:paddingLeft="8dip"
android:paddingRight="8dip"
android:background="@drawable/header_bg_mms_widget_holo"//这个是半透明的效果,主题中没有,原生态的
android:gravity="center_vertical">
<ListView
android:id="@+id/conversation_list"
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight="1"
android:background="#00000000"
android:cacheColorHint="#00000000" />
android:background="#00000000"
这个属性更改以后,可以实现自己完全透明效果
成功的更改方法是
--制作两张图片,分别是com_android_mms_header_bg_mms_widget_holo.9.png(这个是在小部件的顶端背景)
com_android_mms_gradient_bg_widget_holo.g.png(这个是背景色)
把这两张图片放到对应的资源文件夹下面,然后p2x c一下,就是自动生成链接文件(可以尝试下,手动添加,加深理解)
list_dir_top_btm_mms_widget_holo(这个是手动添加的,添加在主题下面的某个资源文件夹下面,命名同样很重要的,前面加上包名)
注意:主题访问资源的原理,似乎就是通过那个文件名来访问的,这个当然需要在xml文件下注册一下,只是,我们的p2x c为我们节省了手动这一步。至于命名最则,可以是包名(严格按照需要修改的模块下的AndoridManifest.xml的包名命名)或者也可以是完全跟你需要覆盖的那个资源完全重名,这两种方法都是可以的。但是,为了消除不同的模块对同一资源的不同适配,还是建议通过增加包名,进行唯一行区别
更改方法:
直接在当前主题下的values/funui_styles.xml中,增加两条语句、
<drawable name="com_android_mms_list_div_top_btm_mms_widget_holo">#ffffff</drawable> (短信小部件list背景颜色)
<drawable name="gradient_bg_widget_holo">#ffffff</drawable> (底部的绿色去除)
修改联系人导入导出没有主题化的bug
--这个解决的方法有点特别,因为它不是因为主题资源没有适配的原因,而是因为适配以后没有生效
--这个bug说实话,完全是建华解决的。我之前一直努力的方向,感觉是有点问题。因为这个弹出框并不是一个可以直接找到的布局文件,而是一个activity,这个activity背后进行了system的属性设置,就是通过这个属性设置,实现了不同主题下的资源适配
修改里面的背景颜色属性,可以实现预期效果,至于里面的 <LinearLayout
android:id="@+id/widget_header"
android:layout_width="match_parent"
android:layout_height="48dp"
android:orientation="horizontal"
android:paddingLeft="8dip"
android:paddingRight="8dip"
android:background="@drawable/header_bg_mms_widget_holo"//这个是半透明的效果,主题中没有,原生态的
android:gravity="center_vertical">
<ListView
android:id="@+id/conversation_list"
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight="1"
android:background="#00000000"
android:cacheColorHint="#00000000" />
android:background="#00000000"
这个属性更改以后,可以实现自己完全透明效果
成功的更改方法是
--制作两张图片,分别是com_android_mms_header_bg_mms_widget_holo.9.png(这个是在小部件的顶端背景)
com_android_mms_gradient_bg_widget_holo.g.png(这个是背景色)
把这两张图片放到对应的资源文件夹下面,然后p2x c一下,就是自动生成链接文件(可以尝试下,手动添加,加深理解)
list_dir_top_btm_mms_widget_holo(这个是手动添加的,添加在主题下面的某个资源文件夹下面,命名同样很重要的,前面加上包名)
注意:主题访问资源的原理,似乎就是通过那个文件名来访问的,这个当然需要在xml文件下注册一下,只是,我们的p2x c为我们节省了手动这一步。至于命名最则,可以是包名(严格按照需要修改的模块下的AndoridManifest.xml的包名命名)或者也可以是完全跟你需要覆盖的那个资源完全重名,这两种方法都是可以的。但是,为了消除不同的模块对同一资源的不同适配,还是建议通过增加包名,进行唯一行区别
更改方法:
直接在当前主题下的values/funui_styles.xml中,增加两条语句、
<drawable name="com_android_mms_list_div_top_btm_mms_widget_holo">#ffffff</drawable> (短信小部件list背景颜色)
<drawable name="gradient_bg_widget_holo">#ffffff</drawable> (底部的绿色去除)
修改联系人导入导出没有主题化的bug
--这个解决的方法有点特别,因为它不是因为主题资源没有适配的原因,而是因为适配以后没有生效
--这个bug说实话,完全是建华解决的。我之前一直努力的方向,感觉是有点问题。因为这个弹出框并不是一个可以直接找到的布局文件,而是一个activity,这个activity背后进行了system的属性设置,就是通过这个属性设置,实现了不同主题下的资源适配
相关文章推荐
- android 中的样式(Style)和主题(Theme)资源
- android Activity setTheme() 更改主题
- jekyll bootstrap更改主题theme
- 自己看的,随便写,贴。关于Android里面的Style(样式)和主题(Theme)资源
- moodle主题(theme)的更改
- 样式(Style)和主题(Theme)资源——样式资源
- Eclipse 更改 主题(theme)
- jekyll bootstrap更改主题theme
- Android样式(style)和主题(theme)资源介绍-android学习之旅(五十六)
- jekyll bootstrap更改主题theme
- 样式(Style)和主题(Theme)资源——主题资源
- Android样式(style)和主题(theme)资源介绍-android学习之旅(五十六)
- jekyll bootstrap更改主题theme
- Android样式(style)和主题(theme)资源介绍-android学习之旅(五十六)
- springMVC4.0.6 主题 <sprng:theme 和 静态资源 <mvc:reources 配置
- Android样式(style)和主题(theme)资源介绍-android学习之旅(五十六)
- 初学Android,使用主题(Theme)资源(二十一)
- jekyll bootstrap更改主题theme
- ios给按钮图片根据不同的主题更改颜色
- Android开发,appcompat-v7:24.2.1的Theme.AppCompat.Light主题下更改普通Button的颜色