android:hint 在 styles.xml 中声明,但仍有警告“您应该为 EditText 提供 `android:hint`”
Posted
技术标签:
【中文标题】android:hint 在 styles.xml 中声明,但仍有警告“您应该为 EditText 提供 `android:hint`”【英文标题】:android:hint declared in styles.xml but still have warning "You should provide an `android:hint`" for EditText 【发布时间】:2021-03-14 13:43:52 【问题描述】:标题很好地总结了它:我在我的活动中使用了几个 EditText,每个都代表不同玩家的名字。所以他们有所有共同点,这就是为什么我创造了一种风格来将它应用到所有的人身上。 问题是,即使我以我的风格初始化了 android:hint,警告仍然是:“缺少可访问性标签:minSdk android:hint”。有没有办法解决这个警告(除了使用工具:忽略)? 当然,在 edit_text.xml 中定义 android:hint 将是一个解决方案,但如果是这样:(为什么)不建议在 styles.xml 中这样做?这是故意的还是错误的?
edit_text.xml:
<!-- Warning on `EditText` -->
<EditText
android:id="@+id/edit_player2"
style="@style/EditTextPlayer"
android:layout_
android:layout_
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>
附:
您会注意到我在 edit_text.xml 中留下了属性 android:autofillHints
,因为它在 styles.xml 中给出了错误(需要 API 级别 26)。
【问题讨论】:
当然在edit_text.xml中定义android:hint
是一个解决方案,但如果是这样:(为什么)不建议在styles.xml中这样做?这是故意的还是错误的?
【参考方案1】:
您需要在 strings.xml 中定义一个名为“player_name”的字符串资源。
<string name="player_name">Insert your name here</string>
【讨论】:
它已经被定义了......我得到的唯一警告是“你应该在标签EditText
上提供一个android:hint
”,但我在styles.xml中定义了它。以上是关于android:hint 在 styles.xml 中声明,但仍有警告“您应该为 EditText 提供 `android:hint`”的主要内容,如果未能解决你的问题,请参考以下文章
EditText 中 android:hint 和 android:autofillHints 的区别
如何*动态*改变 iOS/Android 的每种颜色?例如。在 Droid 代码中,覆盖“Styles.xml”中的“colorAccent”