我有3 TextView
,我想创建一个自定义selector
drawable
其中:创建自定义选择
- 圆角(完成)
- 当用户按下一个被选中创建一个矩形边框他们的
的TextView
S:
<LinearLayout android:id="@+id/info" android:layout_marginTop="68dp"
android:layout_width="wrap_content" android:layout_height="fill_parent"
android:layout_centerHorizontal="true"
android:orientation="horizontal">
<TextView android:id="@+id/tour1"
android:paddingLeft="10dp" android:paddingRight="10dp"
android:paddingTop="8dp" android:paddingBottom="8dp"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:background="@drawable/back"
android:gravity="center"
android:text="Tour \n disponibili \n 21"/>
<TextView android:id="@+id/tour2" android:layout_toRightOf="@+id/tour1"
android:paddingLeft="10dp" android:paddingRight="10dp"
android:paddingTop="8dp" android:paddingBottom="8dp"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:background="@drawable/back"
android:gravity="center"
android:text="Tour \n prenotabili \n 16"
android:layout_marginLeft="16dp"/>
<TextView android:id="@+id/tour3" android:layout_toRightOf="@+id/tour2"
android:paddingLeft="10dp" android:paddingRight="10dp"
android:paddingTop="8dp" android:paddingBottom="8dp"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:background="@drawable/back"
android:gravity="center"
android:text="Tour \n preferiti \n 3"
android:layout_marginLeft="16dp"/>
</LinearLayout>
我Drawable
selector
文件,back.xml
:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle" >
<stroke android:width="1dip"
android:color="#4fa5d5"/>
<corners android:radius="7dp"/>
</shape>
</item>
<item android:state_pressed="true">
<shape android:shape="rectangle" >
<stroke android:width="5dip"
android:color="#ff0000"/>
<corners android:radius="7dip" />
</shape>
</item>
我想知道如何:
- 成功应用属性
"?android:attr/selectableItemBackground"
- 或者,我只是试图做,申请一个自定义的。
不幸的是,我无法执行上述任何操作。在我的示例中,TextView
总是显示第一个项目(没有android:state_pressed="true"
属性的项目),当我按下它们时,它们从未切换到具有android:state_pressed="true"
属性的项目。
我的代码中的缺陷在哪里?
尝试使用Button而不是Textview。 –