私はこのような画面の上部にあるタブを作りたい:Android TV画面上部にタブを作成する方法は?
私はtabLayoutとviewPagerは電話でそれを解決できることを知っています。しかし、どのようにアンドロイドテレビで行うには?
私はこのような画面の上部にあるタブを作りたい:Android TV画面上部にタブを作成する方法は?
私はtabLayoutとviewPagerは電話でそれを解決できることを知っています。しかし、どのようにアンドロイドテレビで行うには?
これを行うにはいくつかの方法がありますが、短い答えはあなたが何をしているにせよ、それはカスタムでなければならないと思います。現在のところ、leanback
は、GoogleがTV固有のコンポーネントとして提供している唯一のフレームワークであり、そのフレームワークは左のナビゲーション用の引き出しを提供します。
私はあなたがleanbackを使用している場合、1つのソリューションを提供できます。 BrowseFragment
には、カスタムのTitleView
を使用できます。このタブにはタブがあり、タブ内のフォーカスが追跡されます。カスタムビューでTitleViewAdapter.Provider
が実装されている場合は、BrowseFragment
をTitleView
として使用できます。これの利点は、追加の作業をほとんど必要とせずに、自動的に上から出たり出たりすることができることです。
カスタムビューでは、各タブでfocusRightとfocusLeftを指定し、またはonClick
を使用してBrowseFragment
のフラグメントをスワップアウトできます。 This class in leanbackは、BrowseFragment
(具体的にはPageRowFragmentFactory
)のフラグメントのスワップ方法を示しています。
leanback showcase appは、Androidチームがまとめて遊んでいることを強くお勧めします。 TitleViewのカスタマイズの詳細については
、それは以下のようなものを見てみましょう:lb_browse_title.xml
という名前のXMLファイルを作成します
カスタムビューを作成します
class YourTitleView extends RelativeLayout implements TitleViewAdapter.Provider {
... do custom view setup/logic here ...
}
を。これは、TitleViewの作成に使用するleanbackのレイアウトをオーバーライドします。
このlb_browse_title.xml
ファイルにタイトルビューを入れて、IDが@+id/browse_title_group
であることを確認してください。これは、あなたのタイトルビューを取得するために、余裕がないことを知っています。
<com.your.android.app.views.YourTitleView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/browse_title_group"
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="?attr/browseTitleViewStyle" />
はその後BrowseFragment
を拡張するフラグメントを作成して、それが自動的にあなたのタイトルビューを適用する必要があります。 BrowseFragment
を起動して実行する方法については、leanback-showcase
アプリを参照してください。
ここに完全なコードを入力してください。 –