2012-02-26 152 views
13

我想知道如果可以,請在選擇時自定義AutoCompleteTextView下拉列表的顏色。我可以自定義一切,但不是所選的顏色,即 - 它保持不變。如何在Android上自定義AutoCompleteTextView下拉菜單

Activity

ArrayAdapter<String> adap = new ArrayAdapter<String>(this, R.layout.row, strings); 
autoNewBird = (AutoCompleteTextView)findViewById(R.id.autoCompleteBirdName); 
autoNewBird.setAdapter(adap); 

row.xml:

<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/birdtext" 
android:padding="5dip" 
android:background="@drawable/custom_spinner" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
style="@style/spinner_item" 
android:gravity="center_vertical" 
android:layout_gravity="center_vertical" android:lines="1"/> 

和繪製custom_spinner.xml(在繪製文件夾)

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
<item android:state_window_focused="false" android:state_enabled="true" 
android:drawable="@drawable/listback" /> 
<item android:state_window_focused="false" android:state_enabled="false" 
    android:drawable="@drawable/listback" /> 
<item android:state_pressed="true" android:drawable="@drawable/threebythree" /> 
<item android:state_enabled="true" android:state_focused="true" 
android:drawable="@drawable/threebythree" />    
<item android:state_enabled="true" android:drawable="@drawable/listback" /> 
<item android:state_focused="true" android:drawable="@drawable/listback" /> 
<item android:drawable="@drawable/listback" /> 
</selector> 

這適用於一個微調下拉,但對於AutoCompleteTextView,選中後,它不會像更改顏色一樣微調下拉。

任何幫助,或經驗與此將不勝感激。

回答

11

我猜我明白了,或者說我做錯了什麼。 在一個主題我把這個:

<item name="android:autoCompleteTextViewStyle">@style/custom_autocomplete</item> 

和風格(或相關部分):

<item name="android:dropDownSelector">@drawable/custom_spinner</item> 

和custom_spinner以上。

希望這可以幫助某人。

+0

這是正確的解決方案。爲了進一步說明,第二行應該像這樣定義樣式:。希望有幫助:) – Sandra 2013-06-25 09:22:13

+0

你使用哪種佈局來佈局?我這樣做aAdapterAutoComplete = new ArrayAdapter (getActivity()。getApplicationContext(),R.layout.auto_complete_text,suggest); \t \t \t \t \t autoComplete.setAdapter(aAdapterAutoComplete); – user1163234 2014-04-28 14:58:47

5

在XML中,爲AutoCompleteTextView

android:dropDownSelector="@drawable/some_drawable" 
+0

只有這對我有效。向我的自動完成樣式類添加: @ drawable/custom_spinner不起作用,因爲並非所有屬性都在樣式文件中工作,而是必須添加到xml佈局的自動完成定義中。 – Mike6679 2015-12-18 15:46:27