使用shape自定义TextView的三态

来源:互联网 发布:java运行机制 编辑:程序博客网 时间:2024/05/22 13:27

方法:

1.为TextView的android:background指定一个selector xml文件,

2.在selector xml文件中为三态指定shape  xml文件

这样,TextView就有了三态变化,并有shape控制(注意TextView的三态要想起作用,需要给它增加一个点击事件)

 <TextView            android:clickable="true"            android:background="@drawable/text_selector"            android:layout_width="match_parent"            android:layout_height="wrap_content"            android:layout_marginLeft="10dip"            android:layout_marginRight="10dip"            android:layout_marginTop="10dip"            android:text="重新进入设置向导"            android:textSize="18sp"            android:onClick="reEnterSetup"            />
selector文件

text_selector.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/text_shape_pressed" />    <item android:state_focused="true" android:state_enabled="true"        android:drawable="@drawable/text_shape_pressed" />    <item         android:drawable="@drawable/text_shape_nomal" /></selector>
shape文件

text_shape_pressed.xml

<?xml version="1.0" encoding="utf-8"?>    <shape        xmlns:android="http://schemas.android.com/apk/res/android"        android:shape="rectangle">        <corners            android:radius="5dip"            />        <gradient            android:endColor="#ff0000"            android:startColor="#0000ff"           />                         <stroke            android:width="2dip"            />                 <solid            android:color="#55000000" />           </shape>

text_shape_nomal.xml

<?xml version="1.0" encoding="utf-8"?>    <shape        xmlns:android="http://schemas.android.com/apk/res/android"        android:shape="rectangle">        <corners            android:radius="5dip"            />        <gradient            android:endColor="#ff0000"            android:startColor="#0000ff"           />                         <stroke            android:width="2dip"            />                 <solid            android:color="#ffffff" />           </shape>






0 0
原创粉丝点击