典型例子:
分割线
在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="登 录"/>

本文介绍了如何在Android中自定义样式,包括创建全局使用的分割线和设置按钮的高亮效果。通过在style.xml中定义样式,可以实现1dp高度的分割线,并设置背景颜色和间距。对于按钮,利用selector属性定义了不同状态下的显示效果,如高亮和默认状态,分别设置了不同的颜色和边角弧度。最后,展示了如何在布局文件中应用这些样式。
1万+

被折叠的 条评论
为什么被折叠?



