Android 样式小结
时间:2024-05-02 17:30:48 来源:网络cs 作者:亙句 栏目:运营工具 阅读:
打开项目的 res/values/styles.xml 文件,按以下步骤操作:
使用唯一标识样式的名称添加eg:
<?xml version="1.0" encoding="utf-8"?><resources> <style name="CustomText" parent="@style/Text"> <item name="android:textSize">20sp</item> <item name="android:textColor">#008</item> </style></resources>
使用
<?xml version="1.0" encoding="utf-8"?><EditText style="@style/CustomText" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Hello, World!" />
要知道,我们Style样式是可以继承的,通过style标签中的parent属性指定新定义的样式所继承的样式。parent继承的是系统的一些style样式。继承是可选的,可以选择继承,也可以选择不继承。
3.2 创建并应用主题
可以像创建样式一样创建主题背景,简直一模一样,只是我们使用的位置不同而已,主题主要应用在** 标记或 **上,
使用 android:theme 属性来引用,然后应用或 Activity 中的每个视图都会应用指定主题背景中定义的样式
<manifest ... > <application android:theme="@style/Theme.AppCompat" ... > <activity android:theme="@style/Theme.AppCompat.Light" ... > </application></manifest>
Android 提供了多种在整个 Android 应用中设置属性的方法。例如,您可以直接在布局中设置属性,将样式应用到视图,将主题背景应用到布局,以及以编程方式设置属性。
所以这些设置方式是有优先级的,下面的列表将决定最终应用哪些属性。该列表按照优先级从高到低的顺序排序:
3.3 ? & @ 符号引用
我们先看个例子,同样是color的引用,一个使用@,一个使用 ?,那他们到底有什么区别呢?
<TextView android:textColor="@color/standard_font" /> <TextView android:textColor="?attr/darkColor_ffeaeaea"/>
“@”表示引用资源,声明这是一个资源引用,格式为:@[package:]type/name
“?”表示引用主题属性,格式为:?[namespace:]type/name
问号表示:该属性是当前Theme定义的一个属性,所以系统将在当前Theme中查找其参数。
以上面的例子来解析,
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">…… <item name="darkColor_ffeaeaea">@color/colorPrimary</item>……
如果是应用内定义的属性,[namespace:]type可以省略,
如:
android:background=“?attr/colorPrimary”
可以简写为:
android:background=“?colorPrimary”
如果是引用系统定义的属性,则不能省略:
android:background=“?android:attr/colorPrimary”
样式
五、 推荐阅读
Java 专栏
SQL 专栏
数据结构与算法
Android学习专栏
本文链接:https://www.kjpai.cn/news/2024-05-02/164327.html,文章来源:网络cs,作者:亙句,版权归作者所有,如需转载请注明来源和作者,否则将追究法律责任!
下一篇:返回列表