6

我添加了一个imageView输入,GraphicalLayout但它在我的真实设备上看起来与在 AVD 上不同。

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

有一个错误:

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

这个字符串“desc”是什么?它应该是什么样子?

4

5 回答 5

41

它适用于 Android 的辅助功能。这contentDescription是读回给(假设是盲人或视力障碍用户)的内容,因此他们知道图片是什么,因为他们无法查看它。

至于回答你的问题,@iturki 给出了它的开始。您编写用于描述的字符串strings.xml并给它一个name'desc' 或任何您想要的,然后您将contentDescriptionImageView 中的值设置为@string/desc,无论是在布局中还是以编程方式。就像我之前说的,这是为了帮助视力不佳的用户大致了解图像所描绘的内容:)

于 2012-07-21T21:12:26.293 回答
7

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

于 2012-07-21T21:09:34.903 回答
6

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

<string name="desc">your desc goes here</string>

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

于 2012-07-21T21:08:48.633 回答
0

而不是使用内容描述和字符串描述,只需在您的图像视图上使用 tools:ignore="ContentDescription"

于 2019-08-23T13:24:12.350 回答
0

public void setContentDescription (CharSequence contentDescription)定义简要描述视图内容的文本。

内容描述简要描述了视图,主要用于辅助功能支持以确定应如何向用户呈现视图。对于没有文本表示的视图,例如 ImageButton,有用的内容描述解释了视图的作用。例如,用于拨打电话的带有电话图标的图像按钮可以使用“呼叫”作为其内容描述。用于保存文件的软盘映像可以使用“保存”。

于 2019-08-31T07:46:17.367 回答