典型例子:
分割线
在style.xml 中在定义中style,写出一些属性要求。
<!-- 分割线-->
<style name="line">
<item name="android:layout_height">1dp</item>
<item name="android:layout_width">match_parent</item>
<item name="android:background">@color/lineColor</item>
<item name="android:layout_margin">@dimen/marginSize</item>
</style>
在其他布局文件中,直接用如下代码来进行表示。
<View
style="@style/line"/>
按钮
要求:按钮按下状态时高亮,平时暗红
在安卓中,drawable提供了一个selector属性,帮助我们控制view在不同状态下的显示效果。
btn_commit_select.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- selector属性下提供了四种状态以及不同状态下,显示那种drawable-->
<!-- View 处于高亮效果-->
<item android:state_focused="true" android:drawable="@drawable/commit_btn_h"/>
<item android:state_pressed="true" android:drawable="@drawable/commit_btn_h"/>
<item android:state_selected="true" android:drawable="@drawable/commit_btn_h"/>
<!-- View 默认-->
<item android:drawable="@drawable/commit_btn_n"/>
</selector>
同时,定义高亮状态的文件和默认状态的文件,主要是颜色的选择不同。
commit_btn_h.xml --高亮状态的文件配置
<?xml version="1.0" encoding="utf-8"?>
<!--形状标签-->
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<!-- 实体颜色-->
<solid android:color="@color/mainColorH"/>
<!-- 边角弧度-->
<corners android:radius="@dimen/radiusH"/>
</shape>
commit_btn_n.xml --默认状态的文件配置
<?xml version="1.0" encoding="utf-8"?>
<!--形状标签-->
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<!-- 实体颜色-->
<solid android:color="@color/mainColor"/>
<!-- 边角弧度-->
<corners android:radius="@dimen/radius"/>
</shape>
登录按钮的style
<!-- 按钮样式-->
<style name="commitBtn">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">@dimen/btnHeight</item>
<item name="android:textColor">@android:color/white</item>
<item name="android:textSize">@dimen/titleSize</item>
<item name="android:layout_marginLeft">@dimen/marginSize</item>
<item name="android:layout_marginRight">@dimen/marginSize</item>
<item name="android:gravity">center</item>
<!-- 背景的设置是随着状态的不同而不同的-->
<item name="android:background">@drawable/btn_commit_select</item>
</style>
在布局文件的使用
<Button
style="@style/commitBtn"
android:text="登 录"/>