什么是android:contentDescription ="@ string/desc"在ImageView的xml中?

fok*_*oki 4 android accessibility image

我添加了一个imageViewin GraphicalLayout但它在我的真实设备上看起来与AVD不同.

我发现我需要添加contentDescription一个布局.xml,但是当我添加时:contentDescription="@string/desc"

有一个错误:

"找不到与给定名称匹配的资源(在'contentDescription'中,值为'@ string/desc')"

这个字符串"desc"是什么?它应该是什么样的?

sta*_*rty 33

它适用于Android的辅助功能.这contentDescription是什么得到回读(假设是盲人或视线用户),因此他们知道图片是什么,因为他们无法查看它.

至于回答你的问题,@ iturki给出了它的开始.您编写用于描述的字符串strings.xml并为其指定name"desc"或您心中所需的内容,然后在布局中或以编程方式contentDescription将ImageView中的值设置为@string/desc.就像我之前说过的那样,它可以帮助视力不佳的用户大致了解图像的描绘内容:)

  • 从技术上讲,这不是一个错误,它是一个警告,说可访问性不是很好.在`contentDescription`中添加一个字符串只会给`TalkBack`,或者用户提供的任何辅助功能应用程序,内容回读以描述图像,因为受损用户无法在物理上查看. (2认同)

iTu*_*rki 6

您需要将其添加到您的string.xml文件中:

<string name="desc">your desc goes here</string>
Run Code Online (Sandbox Code Playgroud)

虽然我不知道为什么你需要添加contentDescription到你的imageView来解决不一致的外观问题!我不认为这会解决它.


Spa*_*rky 6

这是辅助功能(例如,对于屏幕阅读器).您应该定义描述图像的字符串资源,并在contentDescription中引用它.请参阅iturki的答案,了解如何执行此操作.