这个答案仍在工作中。
为了获得出色的电视体验,我需要注意什么?
Android 文档Building Layouts for TV 是一个很好的起点。亚马逊Design and User Experience Guidelines。就我目前的知识而言,我认为为两个电视平台混合这些资源应该没有问题。
我也会检查这些资源:
我可以与我的电视应用共享代码吗?
您可以共享您当前使用的所有代码。您只需要扩展清单以确保它可以正确显示在电视上。
要在 Android TV 启动器上集成,您需要添加此类别以进行集成:
<category android:name="android.intent.category.LEANBACK_LAUNCHER" />
阅读更多关于here的信息。
亚马逊以另一种安静的方式做到这一点,现在我不熟悉它,但似乎你需要先发布你的应用程序才能获得启动器集成。但您始终可以使用设置和管理应用程序来启动您的应用程序。
我可以重复使用布局、字符串和其他资源吗?
是的,你可以。我发现您可以使用-w960dp 后缀来限制电视平台的资源。无需创建单独的应用程序来支持电视。
是否有一些实施出色应用的最佳做法?
注意我上面提到的那个后缀,您为所需的目标设备类型定义了不同的资源。
所以如果你使用这个布局:
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="@string/hello"/>
您可以定义这些资源:
values/strings.xml:
<string name="hello">Hello mobile</string>
values-w600dp/strings.xml:
<string name="hello">Hello tablet</string>
values-w960dp/strings.xml:
<string name="hello">Hello TV</string>
这将为所有平台产生正确的问候(可穿戴设备始终是一个单独的项目)。