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

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

Preference Screen 1

Preference Screen 2

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

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

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

3 ответов


обновление

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


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

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


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

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


Я нашел этот код в AOSP build для 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);