簡體   English   中英

如何在 Android Studio 中設置開關或切換按鈕的內容描述?

[英]How to set content description of a switch or toggle button in Android Studio?

我想讓我的應用程序可以通過對講訪問,但我不知道如何為開關或切換按鈕的兩種狀態設置不同的內容描述。

你有什么建議嗎?

您可以像這樣以編程方式設置內容描述。

toggleButton.setOnClickListener( new View.OnClickListener() {
        @Override
        public void onClick( View v ) {
            if( toggleButton.isChecked() ) {
                toggleButton.setContentDescription( "Selected" );
            } else {
                toggleButton.setContentDescription( "Unselected" );
            }
        }
    } );

使用AccessibilityNodeInfosetCheckedsetCheckable https://developer.android.com/reference/android/view/accessibility/AccessibilityNodeInfo#setCheckable(boolean)

class MyAccessibilityDelegate extends View.AccessibilityDelegate {

  MyButton button;

  public constructor (MyButton button) {
    this.button = button;
  }

  @Override
  public void onInitializeAccessibilityNodeInfo(View host, AccessibilityNodeInfo info) {
    super.onInitializeAccessibilityNodeInfo(host, info);
    
    info.setCheckable(true);
    info.setChecked(button.getChecked());

然后將委托添加到您的視圖/布局/等。

class MyButton extends View {
...
  public constructor() {
    setAccessibilityDelegate(new MyAccessibilityDelegate(this);
  }
...
}

說明:所有無障礙服務都應該使用AccessibilityNodeInfo來確定大聲說出的內容。 setCheckable使服務知道View具有可修改的狀態,而setChecked實際上更改了“已檢查/未檢查”標注。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM