Comment personnaliser la liste déroulante AutoCleteTextView sur Android
-
13-11-2019 - |
Question
Je voudrais savoir comment, si cela peut être fait, pour personnaliser la couleur de la liste déroulante du AutoCompleteTextView
Lorsqu'il est sélectionné. Je peux personnaliser tout le reste, mais pas la couleur sélectionnée, c'est-à-dire - elle reste la même.
Dans le 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"/>
et le Drawable Custom_spinner.xml (dans le dossier Drawable)
<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>
Cela fonctionne pour une liste déroulante Spinner, mais pour un AutoCompleteTextView
, lorsqu'il est sélectionné, il ne change pas de couleur comme la liste déroulante Spinner.
Toute aide ou expérience avec cela serait appréciée.
La solution
Je suppose que je l'ai compris, ou plutôt ce que je faisais mal. Dans un thème, je mets ceci:
<item name="android:autoCompleteTextViewStyle">@style/custom_autocomplete</item>
et le style est (ou partie pertinente):
<item name="android:dropDownSelector">@drawable/custom_spinner</item>
Et le Custom_spinner est au-dessus.
J'espère que cela peut aider quelqu'un.
Autres conseils
Dans XML, pour AutoCPleTeTextView
android:dropDownSelector="@drawable/some_drawable"