Android Studio V3.12環(huán)境下TV開發(fā)教程(三)為電視制作布局

Android Studio V3.12環(huán)境下TV開發(fā)教程

(轉(zhuǎn)自Android官網(wǎng)https://developer.android.com/training/tv/start)

文章源自:光谷佳武 https://blog.csdn.net/jiawuhan/article/details/80619108

為電視制作布局

通常從大約10英尺遠的地方觀看電視屏幕,雖然它比大多數(shù)其他Android設(shè)備顯示器大得多男娄,但這種類型的屏幕不能提供與較小設(shè)備相同級別的精確細節(jié)和顏色勉抓。?這些因素要求您創(chuàng)建具有電視設(shè)備的應(yīng)用布局衷旅,以創(chuàng)建有用且令人愉快的用戶體驗者填。

本課介紹在電視應(yīng)用程序中構(gòu)建有效布局的最低要求和實施細節(jié)探越。

您還應(yīng)該閱讀Android TV Design

使用電視的布局主題

Android?主題可以為電視應(yīng)用中的布局提供基礎(chǔ)正勒。?您應(yīng)該使用主題來修改要在電視設(shè)備上運行的應(yīng)用活動的顯示腺兴。?本節(jié)介紹您應(yīng)該使用哪些主題。

Leanback主題

v17 leanback支持庫包括Theme.Leanback?牌废,這是電視活動的主題,提供了一致的視覺風格啤握。?我們強烈建議將此主題用于使用v17 leanback類構(gòu)建的任何電視應(yīng)用程序鸟缕。?以下代碼示例演示如何將此主題應(yīng)用于活動:

android:theme="@style/Theme.Leanback">

注意:?leanback主題不包含操作欄,因為Android TV應(yīng)用程序中沒有任何操作欄。?如果您的應(yīng)用使用支持片段(如BrowseSupportFragment?懂从,則您的活動必須擴展FragmentActivity?授段。?不要使用試圖為操作欄設(shè)置主題并產(chǎn)生錯誤的AppCompatActivity?:

java.lang.RuntimeException: Unable to start activity ComponentInfo{...} :java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with thisactivity.

NoTitleBar主題

標題欄是手機和平板電腦上Android應(yīng)用的標準用戶界面元素,但不適用于電視應(yīng)用番甩。?如果您不使用v17 leanback類侵贵,則應(yīng)將此主題應(yīng)用于電視活動,以禁止顯示標題欄缘薛。?以下來自TV應(yīng)用程序清單的代碼示例演示了如何應(yīng)用此主題來刪除標題欄的顯示:

? ...

? android:theme="@android:style/Theme.NoTitleBar">? ? ...


建立基本的電視布局

電視設(shè)備的布局應(yīng)遵循一些基本指導原則窍育,以確保它們在大屏幕上可用和有效。?按照以下提示構(gòu)建針對電視屏幕優(yōu)化的景觀布局:

以橫向方向構(gòu)建布局宴胧。?電視屏幕始終以橫向模式顯示漱抓。

在屏幕的左側(cè)或右側(cè)放置屏幕導航控件,并保存內(nèi)容的垂直空間恕齐。

使用Fragments創(chuàng)建分為多個部分的UI乞娄,并使用視圖組(如GridView而不是ListView更好地使用橫向屏幕空間。

使用諸如RelativeLayoutLinearLayout類的視圖組來排列視圖显歧。?該方法允許系統(tǒng)將視圖的位置調(diào)整為電視屏幕的大小仪或,對齊方式,高寬比和像素密度士骤。

在布局控件之間添加足夠的邊距以避免混亂的UI范删。

過掃描

由于電視標準的發(fā)展以及總是向觀眾呈現(xiàn)全屏圖像的愿望,電視布局具有一些獨特的要求敦间。?出于這個原因瓶逃,電視設(shè)備可能會剪輯應(yīng)用布局的外部邊緣,以確保整個顯示屏都被填滿廓块。?這種行為通常被稱為過掃描?厢绝。

屏幕元素必須始終對用戶可見,應(yīng)放置在過掃描安全區(qū)域內(nèi)带猴。?在左右邊緣上添加48dp的5%余量昔汉,并在頂部和底部邊緣上添加27dp的布局,以確保該布局中的屏幕元素位于過掃描安全區(qū)域內(nèi)拴清。

用戶不直接與之交互的背景屏幕元素不應(yīng)該被調(diào)整或剪裁到過掃描安全區(qū)域靶病。?這種方法確保背景屏幕元素在所有屏幕上看起來都正確。

以下示例顯示了可包含背景元素的根布局以及具有5%邊距且可包含過掃描安全區(qū)域內(nèi)元素的嵌套子布局:

? ?? ?? ?? ? ? ? ?

小心:如果您使用v17 leanback類(如BrowseFragment或相關(guān)小部件)口予,?BrowseFragment過掃描邊距應(yīng)用于布局娄周,因為這些布局已包含過掃描安全邊距。

構(gòu)建可用的文本和控件

電視應(yīng)用程序布局中的文本和控件應(yīng)該可以從遠處輕松查看和導航沪停。?按照以下提示使您的用戶界面元素更易于從遠處看到:

將文本分成用戶可以快速掃描的小塊煤辨。

在深色背景上使用淺色文字裳涛。?這種風格在電視上更容易閱讀。

避免使用既非常窄又非常寬的筆劃的輕量級字體或字體众辨。?使用簡單的sans-serif字體和抗鋸齒來提高可讀性端三。

使用Android的標準字體大小:

android:textAppearance="?android:attr/textAppearanceMedium"/>

確保所有視圖小部件都足夠大鹃彻,以便遠離屏幕10英尺的人員清晰可見(對于非常大的屏幕郊闯,此距離更大)。最好的方法是使用布局相對大小而不是絕對大小蛛株,以及與密度無關(guān)的像素(傾斜)單位而不是絕對像素單位团赁。?例如,要設(shè)置窗口小部件的寬度泳挥,請使用wrap_content代替像素測量然痊,并為窗口小部件設(shè)置頁邊距,請使用dip值而不是px值屉符。

有關(guān)與密度無關(guān)的像素和建筑物布局以處理較大屏幕尺寸的更多信息剧浸,請參閱支持多個屏幕?。

管理電視的布局資源

常見的高清電視顯示分辨率為720p矗钟,1080i和1080p唆香。?您的電視布局應(yīng)以1920 x 1080像素的屏幕尺寸為目標,然后允許Android系統(tǒng)在必要時將布局元素縮小至720p吨艇。?一般來說躬它,縮小比例(去除像素)不會降低您的布局演示質(zhì)量。?但是东涡,升級會導致顯示效果冯吓,降低布局質(zhì)量,并對應(yīng)用的用戶體驗產(chǎn)生負面影響疮跑。

要獲得圖像的最佳縮放結(jié)果组贺,請盡可能將它們作為9貼片圖像元素提供。?如果在布局中提供低質(zhì)量或小圖像祖娘,則會出現(xiàn)像素化失尖,模糊或顆粒感,這對用戶來說不是一個好的體驗渐苏。?改為使用高質(zhì)量的圖像掀潮。

有關(guān)優(yōu)化大屏幕布局和資源的更多信息,請參閱多屏幕設(shè)計?琼富。

避免布局反模式

有幾種構(gòu)建布局的方法仪吧,您應(yīng)該避免,因為它們在電視設(shè)備上不能很好地工作鞠眉,并導致不良的用戶體驗邑商。?以下是開發(fā)電視布局時應(yīng)特別不要使用的一些用戶界面方法摄咆。

重復使用手機或平板電腦布局?- 請勿在未經(jīng)修改的情況下重復使用手機或平板電腦應(yīng)用中的布局。?為其他Android設(shè)備外觀設(shè)計的布局不適合電視設(shè)備人断,因此應(yīng)簡化以便在電視上操作。

ActionBar?- 雖然建議在手機和平??板電腦上使用此用戶界面約定朝蜘,但它不適用于電視界面恶迈。?特別是,由于用遙控器導航這樣的菜單很困難谱醇,所以強烈建議使用操作欄選項菜單(或任何用于該事項的下拉菜單)暇仲。

ViewPager?- 在屏幕之間滑動可以在手機或平板電腦上運行,但不要在電視上試用副渴!

有關(guān)設(shè)計適合電視的布局的更多信息奈附,請參閱電視設(shè)計指南。

處理大型位圖

與任何其他Android設(shè)備一樣煮剧,電視設(shè)備的內(nèi)存量有限斥滤。?如果您使用非常高分辨率的圖像構(gòu)建應(yīng)用布局,或在應(yīng)用操作中使用許多高分辨率圖像勉盅,則它可能會迅速進入內(nèi)存限制并導致內(nèi)存不足錯誤佑颇。?為了避免這些類型的問題,請遵循以下提示:

僅當圖像顯示在屏幕上時才加載圖像草娜。?例如挑胸,當在GridViewGallery顯示多個圖像時,只在視圖的Adapter上調(diào)用getView()時才加載圖像宰闰。

在不再需要的Bitmap視圖上調(diào)用recycle()?茬贵。

使用WeakReference在內(nèi)存Collection存儲對Bitmap對象的引用。

如果您從網(wǎng)絡(luò)獲取圖像移袍,請使用AsyncTask將其提取并存儲在設(shè)備上以加快訪問速度解藻。?切勿在應(yīng)用程序的主用戶界面線程上執(zhí)行網(wǎng)絡(luò)事務(wù)。

在下載大圖時將大圖縮小到更適合的大小;?否則咐容,下載圖像本身可能會導致內(nèi)存不足異常舆逃。

有關(guān)處理圖像時獲得最佳性能的更多信息,請參閱高效顯示位圖?戳粒。

提供有效的廣告

對于起居室環(huán)境路狮,我們建議您使用30秒內(nèi)全屏和可忽略的視頻廣告解決方案。?必須使用D-pad而非觸摸才能訪問Android TV上的廣告功能蔚约,例如解除按鈕和點擊奄妨。

Android TV不提供網(wǎng)絡(luò)瀏覽器。?您的廣告不得嘗試啟動網(wǎng)絡(luò)瀏覽器或重定向到未獲得Android TV設(shè)備許可的Google Play商店內(nèi)容苹祟。

注意:您可以使用WebView類登錄Google+和Facebook等服務(wù)砸抛。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末评雌,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子直焙,更是在濱河造成了極大的恐慌景东,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,198評論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件奔誓,死亡現(xiàn)場離奇詭異斤吐,居然都是意外死亡,警方通過查閱死者的電腦和手機厨喂,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評論 3 398
  • 文/潘曉璐 我一進店門和措,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人蜕煌,你說我怎么就攤上這事派阱。” “怎么了斜纪?”我有些...
    開封第一講書人閱讀 167,643評論 0 360
  • 文/不壞的土叔 我叫張陵贫母,是天一觀的道長。 經(jīng)常有香客問我傀广,道長颁独,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,495評論 1 296
  • 正文 為了忘掉前任伪冰,我火速辦了婚禮誓酒,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘贮聂。我一直安慰自己靠柑,他們只是感情好吓懈,可當我...
    茶點故事閱讀 68,502評論 6 397
  • 文/花漫 我一把揭開白布耻警。 她就那樣靜靜地躺著甘穿,像睡著了一般。 火紅的嫁衣襯著肌膚如雪秸滴。 梳的紋絲不亂的頭發(fā)上荡含,一...
    開封第一講書人閱讀 52,156評論 1 308
  • 那天释液,我揣著相機與錄音均澳,去河邊找鬼找前。 笑死判族,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的槽惫。 我是一名探鬼主播辩撑,決...
    沈念sama閱讀 40,743評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼合冀,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了峭判?” 一聲冷哼從身側(cè)響起棕叫,我...
    開封第一講書人閱讀 39,659評論 0 276
  • 序言:老撾萬榮一對情侶失蹤俺泣,失蹤者是張志新(化名)和其女友劉穎伏钠,沒想到半個月后贝润,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體打掘,經(jīng)...
    沈念sama閱讀 46,200評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,282評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了仑乌。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片晰甚。...
    茶點故事閱讀 40,424評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡衙传,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出蓖捶,到底是詐尸還是另有隱情,我是刑警寧澤扁远,帶...
    沈念sama閱讀 36,107評論 5 349
  • 正文 年R本政府宣布,位于F島的核電站畅买,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏谷羞。R本人自食惡果不足惜帝火,卻給世界環(huán)境...
    茶點故事閱讀 41,789評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望洒宝。 院中可真熱鬧,春花似錦雁歌、人聲如沸靠瞎。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽神凑。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間瓣喊,已是汗流浹背坡慌。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評論 1 271
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留藻三,地道東北人洪橘。 一個月前我還...
    沈念sama閱讀 48,798評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像棵帽,于是被迫代替她去往敵國和親熄求。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,435評論 2 359

推薦閱讀更多精彩內(nèi)容