AutoCompleteTextView dropDownSelector

时间:2012-10-06 11:37:07

标签: android autocomplete

我有一个AutoCompleteTextView组件,我想将其默认下拉选择器更改为另一种颜色。首先我尝试了android:dropDownSelector="#FF400000",但它根本没有出现任何选择器!接下来,我将颜色放在可绘制的资源中:

<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="@android:color/holo_blue_dark"/>
</shape>

并将其链接起来:android:dropDownSelector="@drawable/drop_down_selector",但效果相同(没有选择器)。接下来我发现有人打开了一个类似的问题,仅针对微调器:http://code.google.com/p/android/issues/detail?id=24922,所以我尝试定义一种样式,如解决方案中所解释的那样:

<style name="AutoCompleteDropDown" parent="@android:style/Theme.Holo.Light">
    <item name="android:dropDownListViewStyle">@style/AutoCompleteSelector</item>
</style>
<style name="AutoCompleteSelector" parent="@android:style/Widget.Holo.Light.ListView">
    <item name="android:listSelector">#FF400000</item>
</style>

并将其关联:style="@style/AutoCompleteDropDown",但它没有做任何事情(但是,自从我删除了dropDownSelector属性后,默认选择器又回来了。)

那我在这里错过了什么?我做错了什么?

更新:好的,按照建议,我也尝试了一个选择器:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
   <item android:state_selected="true" android:state_pressed="true" 
       android:state_focused="true" android:state_activated="true"
       android:drawable="@android:color/holo_green_light"/>
</selector>

但它没有用,我仍然没有选择器(至少没有我能看到的)。

2 个答案:

答案 0 :(得分:1)

主题和风格因意图而异。并使用不同的属性。主题定义不同小部件的样式。样式定义小部件本身。主题适用于应用程序或活动。

1)如果你想要它只是一个小部件。

您需要转到/platforms//res/values/values.xml,了解如何为窗口小部件定义样式(AutoCompleteTextView)。拿起所需的属性。在系统中定义相同的选择器,但需要修改。你甚至可以在/ res / drawable中找到选择器

2)如果你想成为整个应用程序:

a)您需要转到/platforms//res/values/themes.xml

b)在那里你可以找到你为AutoCompleteTextViewb选择的主题中的哪种风格

        <item name="autoCompleteTextViewStyle">
             @android:style/Widget.AutoCompleteTextView
        </item>

c)然后得到res / values / styles.xml

d)在那里你可以找到小部件的样式。

e)然后你需要扩展主题。并使用新创建的样式覆盖autoCompleteTextViewStyle属性,如1选项。

答案 1 :(得分:1)

尝试从适配器生成的视图中删除背景。这对我有所帮助。