#android #android-layout #android-edittext #android-styles
#Android #android-layout #android-edittext #android-стили
Вопрос:
Заголовок хорошо подводит итог: я использую в своей деятельности несколько EditTexts, каждый для имени другого игрока. Так что у них есть все общее, вот почему я создал стиль, чтобы применить его ко всем из них. Проблема в том, что даже если я инициализировал android: подсказку в моем стиле, предупреждение по-прежнему остается: «Отсутствует метка доступности: где minSdk < 17, вы должны предоставить android:hint
«. Есть ли какой-нибудь способ исправить это предупреждение (кроме использования tools:ignore)? Конечно, определение android: подсказка в edit_text.xml было бы решением, но если да: (почему) не рекомендуется ли делать это в styles.xml ? Это сделано специально или ошибка?
edit_text.xml:
<!-- Warning on `EditText` -->
<EditText
android:id="@ id/edit_player2"
style="@style/EditTextPlayer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:autofillHints="username" />
styles.xml:
<style name="EditTextPlayer">
<item name="android:minEms">8</item>
<item name="android:maxLength">12</item>
<item name="android:padding">4dp</item>
<item name="android:layout_margin">4dp</item>
<item name="textSize">@dimen/button</item>
<item name="android:visibility">gone</item>
<item name="android:background">@drawable/black_background</item>
<item name="android:inputType">textFilter|textNoSuggestions</item>
<item name="android:imeOptions">flagNoFullscreen|actionDone</item>
<item name="android:gravity">center_horizontal</item>
<item name="android:hint">@string/player_name</item> <!-- hint is here ^^ -->
</style>
P.S.
Вы можете заметить, что я оставил в edit_text.xml атрибут android:autofillHints
, потому что он выдает ошибку в styles.xml (требуется уровень API 26).
Комментарии:
1. Конечно, определяя
android:hint
в edit_text.xml было бы решением, но если да: (почему) не рекомендуется ли делать это в styles.xml ? Это сделано специально или ошибка?
Ответ №1:
Вам нужно определить строковый ресурс внутри strings.xml с именем «player_name».
<string name="player_name">Insert your name here</string>
Комментарии:
1. Оно уже определено… Единственное предупреждение, которое я получил, это «Вы должны указать
android:hint
» в тегеEditText
, но я определяю его в styles.xml .