기계적 인조 인간:SeekBar를 확장할 때 AccessibilityEvents에서 음성 텍스트를 제거하는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com//questions/25001069

문제

내 Android 앱에는 다음을 기반으로 하는 맞춤 슬라이더 컨트롤이 포함되어 있습니다. SeekBar, 접근성에 대한 사용을 설명하기 위해 사용자 정의 텍스트 문구를 내 컨트롤에 첨부하고 싶습니다.

나는 이것을 사용하여 성공적으로 수행했습니다. View.setContentDescription(text), 그리고 내가 슬라이더 컨트롤에 초점을 요청할 때 TalkBack이 해당 문구를 올바르게 말합니다. Activity.onCreate.

여태까지는 그런대로 잘됐다.그러나 Android API 16 테스트 장치에서 AccessibilityFocus를 설정한다고 생각되는 컨트롤을 터치하면 음성 문구에 추가 단어가 추가됩니다.'...통제권을 찾으세요.0퍼센트'.이러한 추가 단어를 제거하고 싶습니다.

나는 다음을 사용하여 그것들을 제거하려고 노력했습니다. event.getText().clear() ~에 View.onInitializeAccessibilityEvent(event) 성공없이.LogCat에 이벤트를 에코하면 올바른 문구가 보고됩니다. event.contentDescription 그리고 항목이 없습니다 event.text, 그러나 추가 단어는 장치 하드웨어의 오디오 출력과 화면 디버그 텍스트에 모두 나타납니다. 메뉴->설정->접근성->TalkBack->설정->개발자 설정->음성 출력 표시.

추가 단어가 추가되는 위치와 이를 제거하는 방법을 제안할 수 있는 사람이 있습니까?

어떤 건설적인 제안이라도 환영합니다.감사해요.

업데이트

내 사용자 정의 컨트롤의 일부 터치하여 탐색(초기 단일 탭) 이벤트가 해당 컨트롤을 통과하지 못하는 것을 볼 수 있습니다. onInitializeAccessibilityEvent 또는 dispatchPopulateAccessibilityEvent 내가 의도적으로 호출하는 메서드 event.setContentDescription(null).그럼에도 불구하고 AccessibilityEvent 내 사용자 정의 컨트롤로 생성되는 중 ContentDescription, 설정하다 Activity.onCreate 코드에는 제거하려는 추가 단어도 포함됩니다.

나는 또한 AccessibilityDelegate 내 사용자 정의 컨트롤의 부모에 ViewGroup 그 가시성을 제공하기 위해 onRequestSendAccessibilityEvent 전화.이는 내 항목이 포함된 이벤트가 없음을 확인합니다. ContentDescription 지나가고 있습니다.

이는 매우 혼란스러운 일이며 API 16을 사용하는 에뮬레이터와 실제 하드웨어 모두에서 발생합니다.어떤 아이디어가 있나요?

도움이 되었습니까?

해결책 2

나는 이것이 TalkBack의 버그라고 생각하며 문제를 제기했습니다. Google Eyes-Free 문제 #375, 예제 코드 포함.

업데이트: Google은 이제 이것을 보관했습니다.링크가 다음으로 이동되었습니다: http://code.google.com/archive/p/eyes-free/issues/375

다른 팁

또한 재정의해야 합니다. http://developer.android.com/reference/android/view/View.html#onInitializeAccessibilityNodeInfo(android.view.accessibility.AccessibilityNodeInfo)

거기에 contentDescription을 설정하세요.

0%를 제거하려면 AccessibilityNodeInfo/AccessibilityEvent에서 클래스를 변경해 보겠습니다.http://developer.android.com/reference/android/view/accessibility/AccessibilityNodeInfo.html#setClassName(java.lang.CharSequence)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top