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

问题描述 投票:0回答:6

我在

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

我发现我需要在布局中添加

contentDescription
.xml
,但是当我添加时:
contentDescription="@string/desc"

有错误:

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

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

android image accessibility
6个回答
43
投票

适用于 Android 的辅助功能。

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

为了回答你的问题,@iturki 给出了答案。您在

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


9
投票

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


6
投票

您需要将其添加到您的

string.xml
文件中:

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

虽然我不知道为什么你需要添加

contentDescription
到你的imageView来解决外观不一致的问题!我不认为这能解决问题。


0
投票

不使用内容描述和字符串描述,只需使用 工具:在图像视图上忽略“ContentDescription”


0
投票

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

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


0
投票

添加此行即可修复:

tools:ignore="ContentDescription"
© www.soinside.com 2019 - 2024. All rights reserved.