Android TV (三)(創(chuàng)建電視頁面布局)

官方地址 鏡像地址

創(chuàng)建電視頁面布局

用戶通常在距離電視屏幕10英尺的位置觀看秒啦,并且它遠遠大于大多數(shù)Android設(shè)備的顯示屏饼暑,但是這種類型的屏幕不能提供與小屏幕相同級別的細節(jié)和顏色公你。這些因素要求你為電視設(shè)備創(chuàng)建應(yīng)用布局時慌植,能創(chuàng)造一個有效的和愉快的用戶體驗。

使用布局主題


Android主題能為你的應(yīng)用提供基礎(chǔ)的布局灶壶。您應(yīng)該使用一個主題來修改您的應(yīng)用程序的activity的顯示肝断,這意味著這些activity要在電視設(shè)備上運行。

Leanback 主題

v17 leanback library為TV activity提供一個標(biāo)準(zhǔn)的主題通過調(diào)用Theme.Leanback. 這個主題為電視應(yīng)用程序建立了一個一致的視覺風(fēng)格。大多數(shù)電視應(yīng)用程序推薦使用此主題胸懈。代碼如下:

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

NoTitleBar 主題

在手機和平板電腦的Android應(yīng)用程序中担扑,標(biāo)題欄是一個標(biāo)準(zhǔn)的用戶界面元素,但它不適合的電視應(yīng)用程序趣钱。如果你沒有使用v17 Leanback,你需要使用這個主題使標(biāo)題欄不顯示涌献。代碼如下:

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

創(chuàng)建基本的電視機布局


電視設(shè)備的布局應(yīng)遵循以下基本準(zhǔn)則,以確保它們在大屏幕上是可用和有效的首有。
1.橫屏顯示模式燕垃。
2.將屏幕導(dǎo)航控件放在屏幕的左側(cè)或右側(cè),并保存內(nèi)容的垂直空間井联。
3.將界面分成一些區(qū)塊卜壕,使用Fragment,使用GridView代替Listview來更好的利用水平空間烙常。
4.使用視圖組來排列視圖轴捎,如 RelativeLayout,LinearLayout蚕脏。這種方法允許系統(tǒng)調(diào)整視圖的位置的大小侦副,對齊,縱橫比和電視屏幕的像素密度蝗锥。在布局控件之間添加足夠的邊距以避免混亂的布局跃洛。

過掃描

為了始終呈現(xiàn)一個完整的屏幕圖片給觀眾,電視的布局有一些獨特的要求是由于電視標(biāo)準(zhǔn)的演變導(dǎo)致的终议。出于這個原因汇竭,電視設(shè)備可以剪輯應(yīng)用程序布局的外邊緣,以確保整個顯示被填充穴张。這種行為通常被稱為過掃描细燎。
屏幕元素必須放置在用戶隨時可見的過掃描的安全區(qū)內(nèi)。添加5%的安全邊距皂甘,左右48dp,上下27dp玻驻。代碼如下:

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="match_parent"
   android:layout_height="match_parent">
   <!-- Screen elements that can render outside the overscan safe area go here -->
   <!-- Nested RelativeLayout with overscan-safe margin -->
   <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
       android:layout_width="match_parent"
       android:layout_height="match_parent"
       android:layout_marginTop="27dp"
       android:layout_marginBottom="27dp"
       android:layout_marginLeft="48dp"
       android:layout_marginRight="48dp">
<!-- Screen elements that need to be within the overscan safe area go here -->
   </RelativeLayout>
</RelativeLayout>

注:如果你使用了v17 leanback就不要添加過掃描邊距了,因為這些布局已經(jīng)合并過過掃描邊距了偿枕。

建立可用的文本和控件


電視應(yīng)用程序布局中的文本和控件在遠處應(yīng)該很容易被看見和操控璧瞬。
1.將文本分割成小塊,使用戶可以快速瀏覽渐夸。
2.在暗背景上使用亮文本嗤锉。這種風(fēng)格在電視上更容易閱讀。
3.避免有非常窄或非常寬筆劃的輕量級字體墓塌。使用簡單的無襯線字體和防鋸齒增加可讀性瘟忱。
4.使用Android的標(biāo)準(zhǔn)字體大小:

<TextView
      android:id="@+id/atext"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:gravity="center_vertical"
      android:singleLine="true"
      android:textAppearance="?android:attr/textAppearanceMedium"/>

5.確保所有的視圖部件都足夠大奥额,人坐在離屏幕10英尺遠的地方可以清楚地看到(這個距離對于超大屏幕來說更大)。最好的方法是使用布局相對大小访诱,而不是絕對大小,使用密度無關(guān)像素(DIP)單位垫挨,而不是絕對像素單位。

管理電視布局資源


普通高清電視的顯示分辨率為720p触菜、1080i和1080p九榔。你的電視布局應(yīng)針對1920×1080像素的屏幕尺寸,然后允許Android系統(tǒng)降級你的布局元素在720p的分辨率上玫氢。在一般情況下帚屉,降低分辨率(刪除像素)不會降低你的布局演示質(zhì)量。然而漾峡,提升分辨率可能導(dǎo)致你的布局的顯示質(zhì)量降低攻旦,對你的應(yīng)用程序的用戶體驗造成負面影響。
為了得到圖像的最佳尺度的結(jié)果,盡可能使用9-patch圖片生逸。如果你在你的布局使用低質(zhì)量或小的圖像牢屋,他們會出現(xiàn)像素化,模糊或粗糙槽袄,用戶體驗差烙无。應(yīng)使用高質(zhì)量的圖像代替。

避免布局反模式


1.重用手機或平板電腦布局遍尺。不要在沒有修改的情況下重用手機或平板電腦的布局截酷。其他Android設(shè)備的布局不適合電視設(shè)備,應(yīng)簡化操作乾戏。
2.ActionBar 迂苛。不適合電視界面。
3.ViewPager鼓择。屏幕之間滑動可以在手機或平板電腦上工作三幻,但不要在電視上嘗試!
TV Desgin

處理大圖片


電視設(shè)備像任何其他Android設(shè)備一樣都有一個有限的內(nèi)存量呐能。如果你用高分辨率的圖像構(gòu)建應(yīng)用程序布局或者在應(yīng)用程序的操作中使用許多高分辨率圖像念搬,它會快速地運行到內(nèi)存閥值并導(dǎo)致內(nèi)存溢出。
為了避免這些類型的問題摆出,遵循以下提示:
1.只有在屏幕上顯示時才加載圖像朗徊。
2.清除不再需要的位圖。
3.使用WeakReference引用位圖存儲在內(nèi)存中的集合對象偎漫。
4.如果你的圖片從網(wǎng)絡(luò)獲取荣倾,使用AsyncTask獲取,為了更快的訪問可以將其存到設(shè)備中骑丸。
5.下載時將圖像縮小到合適的大小舌仍。

提供有效的廣告


對于居室環(huán)境,我們建議你使用全屏且在30秒內(nèi)關(guān)閉的視頻廣告通危。Android電視廣告的功能铸豁,如關(guān)閉按鈕和點擊率,必須使用鍵盤而不是觸摸菊碟。
Android TV不提供網(wǎng)頁瀏覽器节芥。你的不能啟動網(wǎng)頁瀏覽器或者重定向到Google Play未經(jīng)允許的Android設(shè)備。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末逆害,一起剝皮案震驚了整個濱河市头镊,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌魄幕,老刑警劉巖相艇,帶你破解...
    沈念sama閱讀 211,042評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異纯陨,居然都是意外死亡坛芽,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評論 2 384
  • 文/潘曉璐 我一進店門翼抠,熙熙樓的掌柜王于貴愁眉苦臉地迎上來咙轩,“玉大人,你說我怎么就攤上這事阴颖』詈埃” “怎么了?”我有些...
    開封第一講書人閱讀 156,674評論 0 345
  • 文/不壞的土叔 我叫張陵量愧,是天一觀的道長钾菊。 經(jīng)常有香客問我,道長侠畔,這世上最難降的妖魔是什么结缚? 我笑而不...
    開封第一講書人閱讀 56,340評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮软棺,結(jié)果婚禮上红竭,老公的妹妹穿的比我還像新娘。我一直安慰自己喘落,他們只是感情好茵宪,可當(dāng)我...
    茶點故事閱讀 65,404評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著瘦棋,像睡著了一般稀火。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上赌朋,一...
    開封第一講書人閱讀 49,749評論 1 289
  • 那天凰狞,我揣著相機與錄音篇裁,去河邊找鬼。 笑死赡若,一個胖子當(dāng)著我的面吹牛达布,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播逾冬,決...
    沈念sama閱讀 38,902評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼黍聂,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了身腻?” 一聲冷哼從身側(cè)響起产还,我...
    開封第一講書人閱讀 37,662評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎嘀趟,沒想到半個月后脐区,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,110評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡去件,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年坡椒,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片尤溜。...
    茶點故事閱讀 38,577評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡倔叼,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出宫莱,到底是詐尸還是另有隱情丈攒,我是刑警寧澤,帶...
    沈念sama閱讀 34,258評論 4 328
  • 正文 年R本政府宣布授霸,位于F島的核電站巡验,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏碘耳。R本人自食惡果不足惜显设,卻給世界環(huán)境...
    茶點故事閱讀 39,848評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望辛辨。 院中可真熱鬧捕捂,春花似錦、人聲如沸斗搞。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,726評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽僻焚。三九已至允悦,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間虑啤,已是汗流浹背隙弛。 一陣腳步聲響...
    開封第一講書人閱讀 31,952評論 1 264
  • 我被黑心中介騙來泰國打工架馋, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人驶鹉。 一個月前我還...
    沈念sama閱讀 46,271評論 2 360
  • 正文 我出身青樓绩蜻,卻偏偏與公主長得像,于是被迫代替她去往敵國和親室埋。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,452評論 2 348

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