这篇博客讲解一下Style,比如你想自定义自己的Style,在么做呢?大家先来看这一片博客。
样式的定义
Android的样式一般定义在res/values/styles.xml文件中,其中有一个根元素resource,而具体的每种样式定义则是通过resource下的子标签style来完成,style通过添加多个item来设置样式不同的属性。
另外,样式是可以继承的,可通过style标签的parent属性声明要继承的样式,也可通过点前缀 (.) 继承,点前面为父样式名称,后面为子样式名称。点前缀方式只适用于自定义的样式,若要继承Android内置的样式,则只能通过parent属性声明。
用个实例说明具体的用法吧,以下代码为Android 5.0系统默认的按钮样式:
<style name="Widget.Material.Button">
<item name="background">@drawable/btn_default_material</item>
<item name="textAppearance">?attr/textAppearanceButton</item>
<item name="minHeight">48dip</item>
<item name="minWidth">88dip</item>
<item name="stateListAnimator">@anim/button_state_list_anim_material</item>
<item name="focusable">true</item>
<item name="clickable">true</item>
<item name="gravity">center_vertical|center_horizontal</item>
</style>
其中,stateListAnimator指定状态改变时的动画,button_state_list_anim_material的代码如下:
<!-- res/anim/button_state_list_anim_material.xml -->
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:state_enabled="true">
<set>
<objectAnimator
android:propertyName="translationZ"
android:duration="@integer/button_pressed_animation_duration"
android:valueTo="@dimen/button_pressed_z_material"