Android TV 笔记

声明一个TV Activity

一个应用想要运行在TV设备中,必须在它的manifest中定义一个启动activity,用intent filter包含CATEGORY_LEANBACK_LAUNCHER。这个filter表明你的应用是在TV上可用,并且为Google Play上发布TV应用所必须。定义这个intent也意味着点击主屏幕的应用图标时,就是打开的这个activity。

接下来的代码片段显示如何在manifest中包含这个intent filter:

<application
  android:banner="@drawable/banner" >
  ...
  <activity
    android:name="com.example.android.MainActivity"
    android:label="@string/app_name" >

    <intent-filter>
      <action android:name="android.intent.action.MAIN" />
      <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
  </activity>

  <activity
    android:name="com.example.android.TvActivity"
    android:label="@string/app_name"
    android:theme="@style/Theme.Leanback">

    <intent-filter>
      <action android:name="android.intent.action.MAIN" />
      <category android:name="android.intent.category.LEANBACK_LAUNCHER" />
    </intent-filter>

  </activity>
</application>

例子中第二个activity manifest定义的activity是TV设备中的一个启动入口。

Caution:如果在你的应用中不包含CATEGORY_LEANBACK_LAUNCHER intent filter,它不会出现在TV设备的Google Play商店中。并且,即使你把不包含此filter的应用用开发工具装载到TV设备中,应用仍然不会出现在TV用户界面上。

如果你正在为TV设备修改现有的应用,就不应该与手机和平板用同样的activity布局。TV的用户界面(或者现有应用的TV部分)应该提供一个更简单的界面,更容易坐在沙发上用遥控器操作。TV应用设计指南,参考TV Design指导。查看TV界面布局的最低要求,参考:Building TV Layouts

声明Leanback支持

Android TV需要你的应用使用Leanback用户界面。如果你正在开发一个运行在移动设备(手机,可穿戴,平板等等)也包括TV的应用,设置required属性为false。因为如果设置为true,你的应用将仅能运行在用Leanback UI的设备上。

<manifest>
    <uses-feature android:name="android.software.leanback"
        android:required="false" />
    ...
</manifest>

声明不需要触屏

运行在TV设备上的应用不依靠触屏去输入。为了清楚表明这一点,TV应用的manifest必须声明android.hardware.touchscreen为不需要。这个设置表明应用能够工作在TV设备上,并且也是Google Play认定你的应用为TV应用的要求。接下来的示例代码展示这个manifest声明:

<manifest>
    <uses-feature android:name="android.hardware.touchscreen"
              android:required="false" />
    ...
</manifest>

Caution:必须在manifest中声明触屏是不需要的,否则应用不会出现在TV设备的Google Play商店中。

提供一个主屏幕横幅

如果应用包含一个Leanback的intent filter,它必须提供每个语言的主屏幕横幅。横幅是出现在应用和游戏栏的主屏的启动点。在manifest中这样描述横幅:

<application
    ...
    android:banner="@drawable/banner" >

    ...
</application>

application中添加android:banner属性为所有的应用activity提供默认的横幅,或者在特定activity的activity中添加横幅。

在UI模式和TV设计指导中查看Banners

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值