样式(style)和主体(theme)的回顾温习
来源:互联网 发布:ipv4 无网络访问权限 编辑:程序博客网 时间:2024/06/07 10:36
样式(style)
Android的样式资源文件放在/res/values目录下,样式资源文件的根元素是<resources.../>元素,该元素内可包含多个<style.../>子元素,每个<style.../>元素定义一个样式。<style.../>元素指定如下两个属性。 name:指定样式的名称 parent:指定该样式所继承的父样式。当继承某个父样式时,该样式会获得父样式<style.../>元素内可包含多个<item.../>子元素,每个<item../>子元素定义一个格式项。
样式的简单示例
<?xml version="1.0" encoding="utf-8"?><resources> <!-- 定义一个样式,指定字体的大小。字体颜色--> <style name="style1"> <item name="android:textSize">20sp</item> <item name="android:textColor">#00d</item> </style> <!-- 定义一个样式,继承前一个样式的颜色,当然可以继承许多系统已有的样式--> <style name="style2" parent="@style/style1"> <item name="android:background">#ee6</item> <item name="android:padding">8dp</item> <!-- 覆盖父样式中指定的属性--> <item name="android:textColor">#000</item> </style></resources>
定义过样式文件之后,接下来就可以在XML资源中按如下语法格式来使用样式了:
@[<package_name>:]style/file_name
使用的简单示例:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" android:orientation="vertical" > <!-- 指定使用style1的样式--> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="style1" style="@style/style1"/> <!-- 指定使用style2的样式--> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="style2" style="@style/style2"/> </LinearLayout>
效果图
主题(theme)
放置位置也是/res/values目录下,样式资源文件的根元素是<resources.../>元素,该元素内可包含多个<style.../>子元素来定义主题。主题与样式的区别在于: 主题不能作用于单个的View组件,主体应该对整个应用中的所有Activity起作用,或者对指定的Activity起作用。 主题定义的格式应该是改变窗口外观的格式,例如窗口标题、窗口边框等。
为了给所有窗口添加边框、背景,现在/res/values/my_style.xml中增加一个主题,定义主题的style片段如下:
<<style name="CrazyTheme"> <item name="andorid:windowNoTitle">true</item> <item name="android:windowFullscreen">true</item> <item name="android:windowFrame">@drawable/window_border</item> <item name="android:windowBackground">@drawable/star</item></style>
其中上面的window_border文件如下:
<xml version="1.0" encoding="UTF-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <!--设置填充颜色--> <solid android:color="#0fff"/> <!--设置四周的内边距--> <padding android:left="7dp" android:top="7dp" android:right="7dp" android:bottom="7dp"/> <!--设置边框--> <stroke android:width="10dip" android:color="#f00"/></shape>
接下来在代码中使用是:
super.onCreate(savedInstanceState); setTheme(R.style.CrazyTheme); setContentView(R.layout.linear_layout_3);
如果我们想要整个应用中的所有窗口都是这样的效果,我们可以在AndroidManifest.xml中的application下添加如下代码:
<application android:name:theme="@style/CrazyTheme">...</application>
同样支持继承
0 0
- 样式(style)和主体(theme)的回顾温习
- 样式(style)和主题(theme)
- 样式(style)和主题(theme)(一)
- 样式(style)和主题(theme)(二)
- 安卓 样式(Style)和主题(Theme)
- Android中的样式和主题(style & theme)
- (4.1.20)android的样式(style)与主题(theme)
- 安卓(android)的样式(style)和主题(theme)
- Android style(样式), theme(主题)资源
- 样式Style和主题Theme
- style和attr的 温习
- Android中样式style和主题Theme的使用总结
- 自己看的,随便写,贴。关于Android里面的Style(样式)和主题(Theme)资源
- Android样式(style)和主题(theme)资源介绍-android学习之旅(五十六)
- android基础---样式和主题(style&theme)
- Android中的主题(theme)和样式(style)
- Android样式和主题(style&theme)
- android style(样式)和theme(主题)设置
- 技术人生:故事之三十五金钱第二
- 在浏览器中输入URL,点回车,将发生哪些事
- vmware disk space
- Java中重载和重写的区别
- 软件测试基础整理(第1章-到6章)
- 样式(style)和主体(theme)的回顾温习
- 针对外挂程序SPI Flash方案的切bank机制
- 转 Java this、super使用总结
- 技术人生:故事之三十六放弃骑士时代
- java SE复习笔记26
- 大数据量时Mysql的优化要点【转】
- [MFC]文档视图体系结构、单文档界面
- 堆与堆排序
- 黑盒测试