Android中TextView中background实现点击后改变样式
时间: 2023-06-18 09:05:47 浏览: 54
要实现点击TextView后改变背景样式,可以使用以下步骤:
1. 在drawable文件夹中创建一个selector xml文件,比如名为textview_bg_selector.xml,用于定义不同状态下的背景样式。例如:
```xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:drawable="@color/blue" />
<item android:state_focused="true" android:drawable="@color/green" />
<item android:drawable="@color/white" />
</selector>
```
上面的代码表示当TextView处于pressed状态时,背景色为蓝色;当TextView处于focused状态时,背景色为绿色;其他状态时,背景色为白色。
2. 在TextView的布局文件中,设置background属性为刚才创建的selector xml文件的引用,例如:
```xml
<TextView
android:id="@+id/my_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World"
android:background="@drawable/textview_bg_selector" />
```
3. 在Java代码中,为TextView设置点击事件,例如:
```java
TextView myTextView = findViewById(R.id.my_textview);
myTextView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 点击事件处理逻辑
}
});
```
这样,当用户点击TextView时,TextView的背景样式会根据不同状态进行改变。