#android #autocompletetextview
#Android #autocompletetextview
Вопрос:
Для моего AutoCompleteTextView установлено значение un-focusable, но я не хочу, чтобы он менял цвет подчеркивания с синего на серый. Есть ли способ переопределить его и изменить цвет подчеркивания обратно на исходный синий цвет, сохраняя при этом автокомплететекстовый вид не сфокусированным?
Ответ №1:
Это всего лишь вопрос создания и применения пользовательского стиля. Первый шаг — перейти к http://android-holo-colors.com / и сгенерируйте чертежи и стиль для автозаполнения. Откройте созданный архив и скопируйте все чертежи, которые содержат «edit_text» и «textfield» в имени файла, в свой проект.
Теперь вам нужно будет просмотреть все каталоги для рисования, зависящие от dpi, и перезаписать файлы с именами:
apptheme_textfield_default_holo_light.9.png
с файлом из того же каталога с именем:
apptheme_textfield_activated_holo_light.9.png
Теперь вам нужно создать пользовательский стиль. Для API 11 это будет выглядеть следующим образом:
<style name="MyAutoCompleteTextView" parent="android:Widget.Holo.Light.AutoCompleteTextView">
<item name="android:background">@drawable/apptheme_edit_text_holo_light</item>
</style>
Для более старых уровней API вам понадобится альтернативный стиль, который наследуется от android:Widget.AutoCompleteTextView
.
Теперь вы просто должны иметь возможность применять этот стиль в своих макетах:
<AutoCompleteTextView
android:focusable="false"
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/MyAutoCompleteTextView"/>