Android 安卓电视偏好标准

Android 安卓电视偏好标准,android,android-5.0-lollipop,android-tv,Android,Android 5.0 Lollipop,Android Tv,当查看Android TV首选项和内置应用程序(如YouTube)时,它们似乎使用标准布局,如下所示: 我找不到任何在Android TV上实现首选项的示例,也找不到任何LeanBack etc库中引用的上述布局 这是一个我可以重用的“标准”(像普通的Android PreferenceFragment)还是我必须设计自己的偏好系统 第一个图像可以用LeanBack“BrowseFragment”复制,但下面的图像无法使用我目前发现的任何东西实现。更新 这些文件刚刚发布。万岁!这正是你想要的

当查看Android TV首选项和内置应用程序(如YouTube)时,它们似乎使用标准布局,如下所示:

我找不到任何在Android TV上实现首选项的示例,也找不到任何LeanBack etc库中引用的上述布局

这是一个我可以重用的“标准”(像普通的Android PreferenceFragment)还是我必须设计自己的偏好系统


第一个图像可以用LeanBack“BrowseFragment”复制,但下面的图像无法使用我目前发现的任何东西实现。

更新

这些文件刚刚发布。万岁!这正是你想要的


不,遗憾的是,该视图在Leanback库中没有作为独立小部件提供。如果你想自己看一看


它可以很容易地实现,但遗憾的是,你只能靠自己

自原始答案被回答的时间段以来,现在有一个可包含和使用的Leanback首选项支持库。请参阅以下链接:


特别是,您不仅需要GuidedStepFragment,还需要扩展BaseLeanbackPreferenceFragment。

我在Android机顶盒的AOSP构建中找到了这段代码

它适用于Android 6.0 AOSP以及原始Android电视。对于非电视设备,需要使用
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);

我想可能是这样,但我认为在假设之前最好先问问周围的人。不同的答案。现在有了一个实际的首选项标记,另一个答案是指GuidedStepFragment,它与BaseLeanBackPreferenceFragment完全不同。我将更新更具体的答案。到目前为止,我还没有看到任何流行的应用程序采用首选项支持v17库。我想知道它是被提议作为下一个偏好标准,还是仅仅是一种将所有这些内容拆分为xml的简便方法?这并不能回答这个问题。