<ImageView style="@style/LoaderPrevNext.Next" />
使用样式
<style name="LoaderPrevNext">
<item name="android:layout_width">40dp</item>
<item name="android:layout_height">80dp</item>
<item name="android:layout_weight">0</item>
<item name="android:scaleType">fitXY</item>
</style>
<style name="LoaderPrevNext.Next">
<item name="android:src">@drawable/next_page</item>
<item name="android:contentDescription">@string/img_desc_next_page</item>
</style>
[Accessibility] Missing contentDescription attribute on image
警告让我很恼火。
如果我将contentDescription从样式移动或复制到ImageView标记,它就会消失,但由于src是在样式中定义的,我很乐意将它们保存在一起。
猜猜这只是一个SDK错误,但有些可能会有解决方法......
澄清:有问题的ImageView确实有一个内容描述,在LoaderPrevNext.Next样式中定义。警告是错误的。我对如何设置内容描述或如何将其破解为空的想法不感兴趣。
答案 0 :(得分:6)
在Eclipse中 Window-&gt;偏好设置 - &gt; Android-&gt; Lint Erroe检查 - &gt;右侧向下滚动直至可访问性 - &gt;内容说明 - &gt;严重性 - &gt;选择忽略 - &gt;应用 - &GT;是
答案 1 :(得分:5)
这个问题的两个现有答案在技术上都是正确的,但我相信有更好的方法。第一个答案建议关闭所有contentDescription
警告。虽然这有效,contentDescription
有一个原因,也许不应该全局关闭所有内容。
第二个答案显示了如何指定contentDescription
。虽然这确实会使警告消失,但它并不适合所有内容,并且在技术上不回答问题,尽管它是一种有效的解决方法。
lint的Android文档提供了最佳解决方案,即IMO,它为某些内容提供contentDescription
,并抑制其他内容的lint警告:
请注意应用程序屏幕中的元素纯粹是装饰性的 并且不提供任何内容或启用用户不应具有的操作 辅助功能内容说明。在这种情况下,只需抑制 带有
tools:ignore="ContentDescription"
属性的lint警告。
因此,请执行以下解决方案以删除所有lint警告:
contentDescription
在XML布局文件中定义android:contentDescription="Your description here."
,以获取有趣或有用的资源
对用户有用的信息。和,tools:ignore="ContentDescription"
添加到纯装饰内容或
图像。答案 2 :(得分:1)
如果您不想关闭/忽略lint警告,可以在strings.xml中定义一个空字符串
string.xml:
<string name="empty"></string>
然后在你的xml中设置值
<ImageView
android:id="..."
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@string/empty"/>
答案 3 :(得分:1)
要在整个项目中停用缺少内容说明警告,请将其添加到build.gradle
android {
lintOptions {
disable 'ContentDescription'
}
}
答案 4 :(得分:0)
&LT; ImageView的
android:id = ...
android:layout_width = ... ...
android:contentDescription =“你的描述来自这里。如果它是一个字符串,则从字符串xml中获取”
/&GT;
答案 5 :(得分:0)
为什么要在Style中添加图像描述?
风格的目的是能够在一个地方改变某些地方的东西。
@string资源也是如此。只是不要把图像描述放在风格中。离开@string。一旦需要 - 改变该字符串本身。
答案 6 :(得分:0)
contentDescription
标签用于android的屏幕阅读功能。您可以添加有关图片内容的字符串,也可以通过添加以下标签来禁止/忽略此警告。
tools:ignore="ContentDescription"