我有一个回收者视图和一个网格布局管理器。对于为回收者视图充气的布局项目,我设置了这样的背景颜色
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:clickable="true"
android:orientation="vertical">
<TextView
android:id="@+id/regNo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0.9"
android:background="@drawable/student_li_bgcolor"
android:gravity="center"
android:padding="7dp"
android:clickable="true"
android:text="15BEC0584"
android:textColor="#64DD17"
android:textSize="17dp" />
</LinearLayout>
student_li_bgcolor的内容是这个
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_selected="true">
<shape>
<solid
android:color="#64DD17"
/>
</shape>
</item>
<item
android:state_pressed="true"
>
<shape>
<solid
android:color="#ffffff"
/>
</shape>
</item>
<item
android:state_selected="false"
>
<shape>
<solid
android:color="#ffffff"
/>
</shape>
</item>
</selector>
如果用户至少按下一次,我想要实现的是将项目颜色更改为绿色。
使用此代码
<item
android:state_pressed="true"
>
<shape>
<solid
android:color="#ffffff"
/>
</shape>
</item>
<item
android:state_pressed="false"
>
<shape>
<solid
android:color="#ffffff"
/>
</shape>
</item>
我可以在点击时更改背景颜色。但是一旦用户移开手指,它就会恢复原来的颜色。我不想要那个。请帮助我......提前致谢...
答案 0 :(得分:0)
如果您想永久更改背景颜色,则应添加OnClickListener
并在OnClickListener.onClick()
中执行此操作。
<selector>
只是一个状态列表资源,可根据按钮的当前状态更改外观。
如何使用onClickListener
请参阅this。
如果能有所帮助,我很高兴。