2016-03-29 28 views
1

Android TV項目的leanback支持庫似乎是爲了標準化電視體驗所做的努力。然而,我覺得它有點過於僵化,並限制了顏色方案等次要方面的定製。使用LeanBack支持庫自定義Android TV接口

我的問題:什麼是最好的,最有效的方式來定製諸如DetailsFragment之類的屏幕,而不用重寫關鍵部分leanback框架?

背景信息

默認的細節畫面看起來是這樣的:

有些事情,我想能夠做到:

  1. 將下面的一個或兩個額外的意見DetailsOverViewRow (圖片,標題/說明,動作按鈕),顯示額外的信息 我們的應用程序的設計(例如表情反應pa nel 和電影信用面板 - 主要是縮略圖圖像和名稱文本 電影創作者的視圖)
  2. 正確剪裁卡片縮略圖圖像以完全適合其圖像視圖。該圖像目前被剪裁,不像在瀏覽器屏幕卡片視圖中很好地適合卡片視圖。圖書館的xml layout file定義了一個相當小的container size(固定 274dp的高度),這可能是爲什麼圖像不 適當裁剪

我已經試過

擴展DetailsOverViewRowPresenter能夠以擴充定義其他視圖的自定義XML文件。不幸的是,這個類隱藏了它的關鍵初始化方法,即createRowViewHolder->private initDetailsOverview(ViewHolder vh),所以我將不得不復制這種隱藏但關鍵的方法,這對我來說就是破壞了子類化的重點。有沒有更好的方法比重新創建這樣的代碼? 注意:此方法可能與此相關question中發佈的方法類似,但OP未進一步詳細說明。

+0

爲1號,我從機器人的Leanback庫(AbstractDetailsDescriptionPresenter類)提供演示的拷貝,編輯一些部件,包括XML,我用我的課而不是從leanback的官員。但我正在使用FullWidthDetailsOverviewRowPresenter。它仍然類似,我猜 – Kyk

+0

如果你已經解決了這個問題,你可以請你分享一下你的解決方案嗎? – khateeb

+0

@khateeb請看我的回答如下 – kip2

回答

1

我最終沒有實現細節屏幕。但它看起來像更新的leanback庫現在支持一定程度的自定義。 github上的google-samples leanback project是一個體面的起始地點。例如:VideoDetailsFragment小類DetailsFragment

另外,在這個medium post討論的其他定製的可能性是值得注意的

+0

我已經通過了樣本。它顯示瞭如何修改概覽演示者的內部。我也想知道如何修改它。你能回答我的這個問題:https://stackoverflow.com/questions/47473310/leanback-detailfragment-fullwidthdetailsoverviewrowpresenter-customization – khateeb

相關問題