【发布时间】:2017-09-07 10:44:31
【问题描述】:
我有两个文本视图,我想更改它们的背景图像。
<TextView
android:layout_width="@dimen/margin_0dp"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:layout_margin="@dimen/margin_padding_2dp"
android:padding="@dimen/margin_padding_5dp"
android:text="Trainings"
android:gravity="center"
android:textSize="17sp"
android:background="@drawable/background_selector"
android:clickable="true"
/>
<TextView
android:id="@+id/learning_programs"
android:layout_width="@dimen/margin_0dp"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:text="Learning Programs"
android:padding="@dimen/margin_padding_5dp"
android:textSize="@dimen/text_size_seventeen"
android:background="@drawable/background_selector"
android:gravity="center"
android:clickable="true"
/>
所以,我想要的是,当我单击 TextView 时,背景图像应该会发生变化。为此,我在 drawable 中有一个选择器
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/rounded_corner" android:state_pressed="true"/>
<item android:drawable="@drawable/rounded_corner" android:state_focused="true"/>
<item android:drawable="@drawable/rounded_corner_grey"/>
</selector>
但是上面代码的问题是只有当用户点击 TextView 时它才会保留白色。一旦用户的手指移动,颜色就会变为灰色。
我想要的是在用户单击 TextView 一次后颜色应该变为白色。
state_selected:true 两个 TextView 都变成白色且不可点击。
【问题讨论】:
标签: android xml android-layout