В настоящее время я добавляю доступность в качестве новой функции внутри своего приложения. Моя цель состоит в том, что пользователь будет осуществлять навигацию с помощью сервиса TalkBack, интегрированного Android.Как активировать Talkback внутри фрагментов?
Все работает хорошо, так как я устанавливаю описание контента на элементы, которые находятся внутри моей деятельности макете т.е.
<View
style="@style/custom.style"
android:contentDescription="@string/my_string_value"/>
Таким образом, каждый раз, когда отображается моя активность озвучиваться является чтение значение описания содержимого.
У меня не было такого же успеха, используя только одно действие, которое нажимает на него несколько фрагментов. Поэтому, если я попытаюсь установить описание содержания на любом элементе внутри макета фрагмента, это не будет считаться (автоматически), пока оно не обнаружит событие касания (я ожидаю, что TalkBack делает это автоматически, так же как представления, которые в макете деятельности)
для того, чтобы получить результат, как и тот, что я ожидаю, что я это это внутри класса фрагмента:
public abstract class myFragment extends Fragment {
...
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
...
myCustomView = (LinearLayout) rootView.findViewById(R.id.duende);
myCustomView.requestFocus();
}
}
Это не имели успеха до сих пор, установка же вещь доступность изменен.
getWindow().getDecorView().sendAccessibilityEvent(AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED);
Неужели кто-нибудь столкнулся с подобной проблемой?