Стандартные настройки Android TV

При просмотре настроек Android TV и встроенных приложений, таких как YouTube, они используют стандартную компоновку, как показано здесь:

Экран настроек 1

Экран настроек 2

Я не могу найти примеры реализации предпочтений на Android TV и не могу найти вышеупомянутые макеты, на которые есть ссылки ни в одной из библиотек LeanBack и т. Д.

Является ли это "стандартом", который я могу использовать повторно (как обычный Android PreferenceFragment), или мне нужно разработать собственную систему предпочтений?

Первое изображение может быть продублировано с помощью LeanBack "BrowseFragment", но нижнее изображение не может быть реализовано с использованием чего-либо, что я до сих пор нашел.

3 ответа

Решение

ОБНОВИТЬ

Новые библиотеки поддержки только что были выпущены. Всем привет GuidedStepFragment! Это должно быть именно то, что вы искали.


Нет, к сожалению, это представление не предоставляется как отдельный виджет в библиотеке Leanback. Если вы хотите посмотреть сами, смотрите здесь.

Это может быть реализовано довольно легко, но, увы, вы сами по себе.

С тех пор, как был получен ответ на оригинал, появилась библиотека поддержки предпочтений Leanback, которую можно включать и использовать. Смотрите следующую ссылку: http://developer.android.com/tools/support-library/features.html

В частности, вы хотите не только GuidedStepFragment, но и расширить BaseLeanbackPreferenceFragment.

Я нашел этот код в сборке AOSP для Android STB

Он работает для Android 6.0 AOSP, а также с оригинальным Android TV. Дополнительная проверка с resolveActivity() необходим для не телевизионных устройств.

public static String COMPONENT_TV_SETTINGS = "com.android.tv.settings/com.android.tv.settings.MainSettings";

Intent intent = new Intent();
intent.setComponent(ComponentName.unflattenFromString(COMPONENT_TV_SETTINGS));

if (intent.resolveActivity(getActivity().getPackageManager()) == null) {
    intent.setAction(Settings.ACTION_SETTINGS); // Standard settings
}

startActivity(intent);
Другие вопросы по тегам