微调器 xml:
<Spinner
android:id="@+id/sort_by_spinner"
android:layout_marginLeft="40dip"
android:layout_marginRight="40dip"
android:layout_marginBottom="10dip"
android:paddingLeft="6dip"
android:paddingRight="6dip"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_below="@id/title_bar"
android:drawSelectorOnTop="true"
android:dropDownSelector="@drawable/spinner_selector"
/>
我试过使用 android:background=...
自己购买,使用 dropDownSelector
,使用和不使用 listSelector=...;
使用和不使用 listItemDropDownSelector=...
以及使用 drawSelectorOnTop
微调器选择器:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:state_pressed="true">
<shape android:shape="rectangle">
<solid android:color="@color/app_tint"/>
</shape>
</item>
<item
android:state_selected="true">
<shape android:shape="rectangle">
<solid android:color="@color/app_tint"/>
</shape>
</item>
</selector>
我总是得到默认的橙色。我已经阅读了很多关于此的帖子;只是无法让它发生。我必须支持 v10 及更高版本。缺少什么?
最佳答案
试试看:
<Spinner
android:id="@+id/sort_by_spinner"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:layout_marginRight="@dimen/space"
android:background="@drawable/selection_normal"
android:dropDownSelector="@drawable/list_item_selector"
android:spinnerMode="dropdown" />
和 list_item_selector 作为
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_selected="true" android:drawable="@color/app_tint"></item>
<item android:state_pressed="true" android:drawable="@color/app_tint"></item>
<item android:drawable="@color/white"></item>
</selector>
selection_normal 是微调器的任何图像,如果不需要可以忽略它。
[编辑]
为了设置突出显示触摸/点击项目的列表行,请执行以下操作:
在微调器适配器的 getDropDownView
而不是 getView
方法中使用代码设置选择器:
view.setBackgroundResource(R.drawable.list_item_selector)
或者使用 View 的setBackground
方法。
关于android - 微调 View ;选择器不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22003903/