Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to customize AutoCompleteTextView dropdown on Android

I would like to know how, if it can be done, to customize the color of the dropdown from the AutoCompleteTextView when selected. I can customize everything else, but not the selected color ie - it stays the same.

In the 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"/>

and the drawable custom_spinner.xml (in drawable folder)

<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>

This works for a spinner dropdown, but for an AutoCompleteTextView, when selected, it does not change color like the spinner dropdown.

Any help, or experience with this would be appreciated.

like image 968
kevinksmith Avatar asked Feb 26 '12 16:02

kevinksmith


2 Answers

I guess I figured it out, or rather what I was doing wrong. In a theme I put this:

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

and the style is(or relevant part):

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

and the custom_spinner is above.

Hope this can help someone.

like image 166
kevinksmith Avatar answered Oct 19 '22 00:10

kevinksmith


In xml, for AutoCompleteTextView

android:dropDownSelector="@drawable/some_drawable"
like image 5
cycDroid Avatar answered Oct 18 '22 22:10

cycDroid