方法:
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>