Próbuję dostosować tło uchwytu AutoCompleteTextView.
Uchwyt jest ikoną pod kursorem, gdy zaznaczony jest tekst w AutoCompleteTextView.
Jak widać na obrazku, po zaznaczeniu tekstu tło uchwytu (kwadratowe za zieloną kroplą i pod kursorem) ma kolor, którego nie wiem skąd pochodzi.
Oto moje podejście:
style.xml
<style name="Autocomplete" parent="Widget.AppCompat.AutoCompleteTextView">
<item name="android:popupBackground">@android:color/transparent</item>
<item name="android:background">@color/text_black_color</item>
</style>
Widok
<AutoCompleteTextView
android:id="@+id/search"
android:theme="@style/Autocomplete"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:background="@android:color/transparent"
android:drawablePadding="@dimen/spacing_sm"
android:drawableStart="@drawable/ic_search"
android:hint="@string/search"
android:imeOptions="actionSearch"
android:inputType="text"
android:textColor="@color/white"
android:textColorHint="@color/colorTextSearch"
android:textSize="15.2sp"
tools:ignore="MissingPrefix" />
Chcę mieć możliwość przezroczystości uchwytu w tle. Mam wiele godzin, próbując to rozwiązać.
Mam nadzieję, że istnieje przynajmniej obejście tego problemu.
Z góry dziękuję.
Odpowiedzi:
2 dla odpowiedzi № 11) Aby rozwiązać problem tła uchwytu (kwadratowego za zieloną kroplą i pod kursorem), który ma dziwny kolor tła, musisz zdefiniować styl taki:
<style name="AutocompleteStyle">
<item name="android:background">@android:color/transparent</item>
</style>
1) Aby zmienić kolor tła DropDownMenu AutoCompleteTextView, musisz utworzyć styl w następujący sposób:
<style name="DropDownMenuBackground">
<item name="android:background">your_color</item>
</style>
i dodaj tę linię w AutocompleteStyle
<item name="android:dropDownListViewStyle">@style/DropDownMenuBackground</item>
3) Dodaj ten wiersz do AutoCompleteTextView, aby uniknąć jego rodzimego stylu:
android:background="@android:color/transparent"
Jak wygląda teraz pełna style.xml:
<style name="AutocompleteStyle">
<item name="android:background">@android:color/transparent</item>
<item name="android:dropDownListViewStyle">@style/DropDownMenuBackground</item>
</style>
<style name="DropDownMenuBackground">
<item name="android:background">@color/colorSearch</item>
</style>
I oczywiście nie zapomnij dodać swojego stylu do widoku autouzupełniania:
<AutoCompleteTextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/transparent"
android:imeOptions="actionSearch"
android:theme="@style/AutocompleteStyle"
/>
0 dla odpowiedzi nr 2
Spróbuj tego
<style name="Autocomplete" parent="Widget.AppCompat.AutoCompleteTextView">
<item name="android:background">@android:color/transparent</item>
</style>
<AutoCompleteTextView
android:id="@+id/search"
android:theme="@style/Autocomplete"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:background="@android:color/transparent"
android:drawablePadding="@dimen/spacing_sm"
android:drawableStart="@drawable/ic_search"
android:hint="@string/search"
android:imeOptions="actionSearch"
android:inputType="text"
android:textColor="@color/white"
android:textColorHint="@color/colorTextSearch"
android:textSize="15.2sp"
tools:ignore="MissingPrefix" />
0 dla odpowiedzi № 3
wypróbuj tę właściwość „android: textSelectHandle”
0 dla odpowiedzi nr 4
Możesz stworzyć swój własny styl / motyw tylko dla tego EditText i zmień ColorAccent:
<style name="EditTextColorCustom" parent="@style/AppBaseTheme">
<!-- Customize your theme here. -->
<item name="colorAccent">@color/colorAccent</item>
</style>