Android中TextView中background实现点击后显示不同样式
时间: 2023-06-20 21:04:50 浏览: 105
你可以使用selector来实现TextView点击后显示不同的样式。selector是一个XML文件,可以根据不同的状态来显示不同的样式。
下面是一个示例:
1.在res/drawable目录下创建一个名为textview_bg.xml的文件。
2.在textview_bg.xml中添加以下代码:
```xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:drawable="@drawable/textview_bg_pressed"/>
<item android:drawable="@drawable/textview_bg_normal"/>
</selector>
```
3.在res/drawable目录下创建两个名为textview_bg_normal.xml和textview_bg_pressed.xml的文件,分别为TextView正常和按下的状态的背景样式。
4.在textview_bg_normal.xml和textview_bg_pressed.xml中添加以下代码:
```xml
<!-- textview_bg_normal.xml -->
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/white"/>
<corners android:radius="5dp"/>
</shape>
<!-- textview_bg_pressed.xml -->
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/grey"/>
<corners android:radius="5dp"/>
</shape>
```
5.在布局文件中使用该背景样式:
```xml
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
android:background="@drawable/textview_bg"/>
```
这样,当TextView被按下时,它的背景颜色将变为灰色。
阅读全文