1. 程式人生 > >安卓ImageView和ImageButton中contentDescription屬性的作用詳解

安卓ImageView和ImageButton中contentDescription屬性的作用詳解

在使用ImageView和ImageButton的時候,AS會提醒我們新增contentDescription屬性,否則就會有一團黃色的警告。對於一個有強迫症的人來說,這是我所不能允許的,所以就想了解contentDescription的用法和意義。contentDescription主要是為視力有障礙的人增加對控制元件的解釋,如果不想新增該屬性,也不想有警告提示,只要新增tools:ignore="ContentDescription"就可以了

在android控制元件中有一個屬性叫做android:contentDescription 。

一般來說,使用者很少使用這個屬性。

但是對於一些視力有障礙的使用者,android提供給使用者一個很有用的功能,可以幫助使用app。

這個屬性必須在使用者的Accessible 中的相應屬性開啟後才能使用。

  1. 首先下載google的應用 TalkBack (an accessibility service published by Google) 並且將功能開啟 Settings > Accessibility > TalkBack 設定為On。

  2. 在應用中新增這個屬性。

<ImageButton
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:contentDescription="我是一個測試按鈕"
    />
  1. 由於這個控制元件沒有text屬性,對於一些使用者來說,無法理解這個控制元件是做什麼的。

這時使用者點選這個控制元件。android系統會自動使用人聲朗讀控制元件上android:contentDescription屬性說指向的內容。

這樣使用者就可以知道這個控制元件是做什麼用的。

這個屬性的主要功能就是為視力有障礙的人增加對控制元件的解釋。

如果不想使用這個屬性,又不想看到警告提示,新增android:contentDescription

<ImageButton
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    tools:ignore="ContentDescription" />

只有在ImageButtonImageView會有警告,其他控制元件不會警告