想通过xml来设置
时间: 2023-10-08 13:08:39 浏览: 27
你可以通过在 XML 布局文件中设置 `android:background`、`android:textColor`、`android:textStyle` 等属性来实现 `TextView` 点击状态的变化。
以下是示例代码:
```xml
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="点击我"
android:clickable="true"
android:background="@drawable/selector_background"
android:textColor="@drawable/selector_text_color"
android:textStyle="@drawable/selector_text_style" />
```
在上面的代码中,我们设置了 `TextView` 的 `android:clickable` 属性为 `true`,使其可点击。然后分别设置了 `android:background`、`android:textColor`、`android:textStyle` 等属性为 selector,这里的 selector 是一个 XML 文件,用来描述不同状态下的样式。你可以在 `res/drawable` 目录下创建这些 selector 文件。
以下是示例 selector 文件:
selector_background.xml
```xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:drawable="@color/colorPrimary" />
<item android:drawable="@color/colorAccent" />
</selector>
```
selector_text_color.xml
```xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:color="@android:color/white" />
<item android:color="@android:color/black" />
</selector>
```
selector_text_style.xml
```xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:textStyle="bold" />
<item android:textStyle="normal" />
</selector>
```
在上面的代码中,我们定义了不同状态下的背景色、文字颜色、文字样式。当 `TextView` 被点击时,它的背景色会变成 `colorPrimary`,文字颜色会变成白色,文字样式会变成粗体。你可以根据需要修改这些 selector 文件,以实现你想要的效果。