1. 程式人生 > >Android TV開發(—)開始電視應用

Android TV開發(—)開始電視應用

官網:https://developer.android.com/training/tv/start/start.html

確定支援的媒體格式

點選檢視以下各項的文件,瞭解在Android TV上的編解碼器、協議和支援的格式

配置一個電視專案


先決條件

要求sdk-tools 24或更高;sdk版本Android5.0(API21)或更高;targetSdkVersion 等於21或更高

宣告一個電視的Activity

<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>

category.LEANBACK_LAUNCHER 用於在Google Play上過濾你的應用,表示是一個電視App。

宣告Leanback支援

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

如果required="true",表示只能執行在使用Leanback UI的裝置上

宣告不需要觸控式螢幕

如果當前應用只在電視上執行,不支援觸控式螢幕。那就宣告如下:

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


提供一個主屏上的banner

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

    ...
</application>

android:banner 可以用於<application> 中, 表示一個全域性預設的 banner。

用於<activity>中, 表示這個activity特定的banner

改變launcher顏色

電視應用啟動時,系統會顯示一個動畫,如要自定義動畫顏色,可以設定android:colorPrimary。還可以設定兩個屬性如下:

<resources>
    <style ... >
      <item name="android:colorPrimary">@color/primary</item>
      <item name="android:windowAllowReturnTransitionOverlap">true</item>
      <item name="android:windowAllowEnterTransitionOverlap">true</item>
    </style>
</resources>


新增Android TV 支援庫

Android 的Support 庫的路徑為: <sdk>/extras/android/support/ 目錄下

v17 leanback library:提供了一些用於電視應用的Widgets,

v7 recyclerview library:RecyclerView 相關, 被v17依賴

v7 cardview library: CardView相關

相關推薦

Android TV開發(—)開始電視應用

官網:https://developer.android.com/training/tv/start/start.html 確定支援的媒體格式 點選檢視以下各項的文件,瞭解在Android TV上的編解碼器、協議和支援的格式 配置一個電視專案 先決條件 要求sdk-

Android TV開發相關準備工作

準備工作 android tps cnblogs detail tails .net targe tar https://www.cnblogs.com/JerryXin/p/4271166.html http://blog.csdn.net/wzlas111/articl

Android TV開發中所有的遙控器按鍵監聽及註意事項,新增home鍵監聽

char 技術分享 ces num block eas article 分享 iou 原文:Android TV開發中所有的遙控器按鍵監聽及註意事項,新增home鍵監聽 簡單記錄

Android TV開發總結(二)構建一個TV Metro界面(仿泰捷視頻TV版)

alt 軟件 XML 的區別 微信 Edito pretty web 效果 原文:Android TV開發總結(二)構建一個TV Metro界面(仿泰捷視頻TV版) 版權聲明:我已委托“維權騎士”(rightknights.com)為我的文章

Android TV開發總結(三)構建一個TV app的焦點控制及遇到的坑

uio pow enter amp 鏈接 sheet 是否 base 用戶 原文:Android TV開發總結(三)構建一個TV app的焦點控制及遇到的坑 版權聲明:我已委托“維權騎士”(rightknights.com)為我的文章進行維權

Android TV開發總結(一)構建一個TV app前要知道的事兒

進入 line 指南 col 遠程 引導 允許 方法 imp 原文:Android TV開發總結(一)構建一個TV app前要知道的事兒 版權聲明:我已委托“維權騎士”(rightknights.com)為我的文章進行維權行動.轉載務必轉載所

android TV開發使用listview和gridview最後一行顯示不全的問題

在android TV上,有時候,我們會發現,在使用ListView和GridView的時候,如果直接給ListView或者GridView的layout_height屬性設定為match_parent的時候,當我們執行, 填充資料的時候,我們下拉到最後一行,發現最後一行資料縱向上內

Android TV開發-按鍵焦點

寫在前面 按鍵焦點過程瞭解 2.1 dispatchKeyEvent 過程瞭解 2.2 焦點查詢請求過程瞭解 1.2.1 第一次獲取焦點 1.2.3 按鍵焦點 焦點控制 焦點記憶 應用場景 參考資料 [TOC] 1. 寫在前面 工欲善其事必先利其器,瞭解按鍵的流程,焦點的搜

Android安全/開發基礎--15--應用程式配置檔案詳解(AndroidManifest.xml)

================================================================= Android應用程式都需要有清單檔案。該檔案必須命名為AndroidManifest.xml且必須防止在應用程式根目錄中。它聲明

Android TV 開發-listview(GridView)使用鍵盤獲取焦點時,選中上次失去焦點時的item,而不是就近的item

在電視上開發Android應用時,經常要做有二級選單的應用,例如: 但當我們按左鍵的時候,左邊listview的最近的item會被選中,即如下效果: 但是在電視上開發應用的時候,我們希望是上一次被選中的item重新被選中,即希望是“日期和時間”被重新選中。 為了實現這個

Android TV(開發) GradView重新整理後搶焦點的問題

問題描述 GridView設定setFocusable為false,當前焦點也確實不在GridView上,但是第一個item的文字在跑馬。 所以綜合下來是,重新整理後GridView的第一個item預設被select了。如果GridView設定有s

【Baiduluckyboy的專欄 說到做到 這是我的品牌 華天正210 6410 專職代理 】Real 210技術交流群 220901638 baiduman團隊外接android開發(驅動 應用

Baiduman的簡歷 Baiduman畢業於解放軍電子工程學院 專業是電子資訊工程 目前是在深圳的一家方案設計公司做Android驅動架構工程師,Baiduman有幸在學校裡遇見一位恩師,團長級別的教授,在他的引導下Baiduman開始了電子大賽的征程,Baiduma

Android TV開發NO.2--RecyclerView 焦點控制

Android TV中使用RecyclerView 焦點自動換行 android TV使用 RecyclerView ,用焦點控制item 首先在item中的xml中,的最外層新增 android:focusable="true",此句是為Recycler

Android TV開發經驗總結---初識TV開發

        之前一直從事手機APP應用開發,由於工作的需要轉入TV電視端的開發,初次接觸確實有點懵逼,在TV開發過程中的處理思路跟手機還是有很大區別的,接下來將講述下TV開發過程的經驗,與大家一起分享共同學習。        剛接觸TV開發,需要我們轉變下思路,在TV開

Android Tv開發遙控器按鍵長按處理

在原始碼的PhoneWindowManager.java 視窗管理類中interceptKeyBeforeDispatching方法中, 該方法是按鍵事件攔截的方法, 返回-1表示攔截, 按鍵事件就不會往後傳遞 直接上關鍵程式碼 private boo

Android TV開發總結【RecycleView】

在TV開發中RecycleView的使用是最讓人頭疼的經常會出現焦點丟失。因為當item未顯示時不能獲取焦點。所以當我們按上下鍵時經常丟失焦點或者焦點亂跳。要解決這個問題我們必須要手動控制RecyclerView 的按鍵和焦點移動。 所以我們這裡需要需要自定義

android TV開發:彈出選單實現

1.在有時候我們需要選擇排序方式,在電視開發中往往使用一個彈出選單實現,Demo效果: 2.核心程式碼: public class MainActivity extends Activity { private PopupWindow popupWindow;

Android TV開發經驗總結---控制元件Gridview使用

    前一篇我們已經講解的基本Android TV 開發的基礎技能,接下來聊聊TV開發中所涉及到的控制元件運用     目前Android TV 開發的資料不是蠻多,經過一系列的搜尋,目前比較適用的框架推薦  https://git.oschina.net/hailong

Android TV開發中所有的遙控器按鍵監聽及注意事項,新增home鍵監聽

簡單記錄下android 盒子開發遙控器的監聽 ,希望能幫到新入門的朋友們 不多說,直接貼程式碼 public class MainActivity extends Activity { private String TAG="key";

Android TV開發-桌面 跨程序通訊(IPC) 詳解

@[TOC] 1. 寫在前面 Android 程序間通訊 的 幾種方式: 四大元件間傳遞Bundle 使用檔案共享方式,多程序讀