15

アカウントを作成するときに名を入力するための編集テキストがあり、そのヒントは「ジェーン」(名として)です。また、アクセシビリティのために、この編集テキストに「名」というコンテンツの説明を付けたいと考えています。ヒントとコンテンツの説明の両方を設定すると、「contentDescription とヒントの両方を設定しないでください。contentDescription はヒントをマスクします」という警告が表示されますが、これは問題ありません。コンテンツの説明がヒントをマスクしていないだけです。TalkBack をオンにしても、コンテンツの説明ではなくヒントが読み上げられます。

誰でもこれで私を助けてくれますか?ありがとうございます。

4

2 に答える 2

4

私が理解していることから、 android:hint は、テキストを表示しない限り、TextViews (およびそのサブクラス) 内のテキストのプレースホルダーとして意味されますが、 android:contentDescription は、テキスト以外のコンテンツ (画像. ..)。したがって、EditText のみにヒントを設定します。

于 2013-10-07T13:27:44.240 に答える
-1

同じ問題が発生し、アクセシビリティ サービスが有効になっているときにヒントを null に設定することで解決しました。有効になっている場合、ユーザーはおそらくヒントを必要としません。

private void setAccessibility()
{
   if (isExploreByTouchEnabled())
   {         
      firstName.setHint(null);
      firstName.setContentDescription("first name");
   }
}

public boolean isExploreByTouchEnabled()
{
   AccessibilityManager am = (AccessibilityManager) getContext().getSystemService(ACCESSIBILITY_SERVICE);
   boolean isAccessibilityEnabled = am.isEnabled();
   boolean isExploreByTouchEnabled = am.isTouchExplorationEnabled();
   return isAccessibilityEnabled && isExploreByTouchEnabled;
}
于 2017-10-30T14:02:19.070 に答える