android shape总结 和控件样式定制
1:shape总结
2:控件样式定制
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" > <corners android:radius="5dp"></corners> <solid android:color="#ff0000"/> <stroke android:width="1dp" android:color="#00ff00" android:dashWidth="2dp" android:dashGap="2dp"/> </shape>
button_pressed.xml
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" > <corners android:radius="10dp" ></corners> <!-- <solid android:color="#ffffff" ></solid> --> <padding android:left="20dp" android:top="1dp" ></padding> <gradient android:startColor="#ffffff" android:endColor="#000000" android:angle="0" android:centerX="0.1" android:centerY="0.2" /> <stroke android:width="1dp" android:color="#00ff00" android:dashWidth="1000dp" android:dashGap="3dp" > </stroke> </shape>
目前已经写好了两种样式文件了。那么怎么判断是按下了的状态呢? 这里引入stateDrawable文件了。它也是采用xml方式来定义的,在控件的不同状态可以用不同的样式来显示同一个控件。比如:按钮有很多种状态,按下状态,有焦点状态,和正常状态。
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android" > <item android:state_pressed="true" android:drawable="@drawable/button_pressed"></item> <item android:drawable="@drawable/button_normal"></item> </selector>
这个文件会从上到下一直匹配下来,直到找到了一个item满足控件目前的状态。android:state_pressed 是按钮被按下状态。下面一个item是默认样式,可以匹配任何一种状态。所以要放在最下面,否则其他所有的定义都不起作用。
<Button android:text="@string/button_style" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/button_style"
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。