2

Google TV 用のアプリを開発していますleft navigation barが、自分のアプリで使用する必要があります。Google tv の例をダウンロードし、左のナビゲーション バーを使用して要件に合わせて動作させています。Google TV 用の 1 つのテレビと映画または YouTube アプリのように動作するようにしたい。左側の D-Pad キーでフォーカスをタブに移動すると展開し、右側の D-Pad キーを使用してフォーカスを移動すると折りたたまれます。

この機能を実現するのに役立つプロパティがあるかどうかは知りませんでした。

そこで、setOnFocusChangeListenerリスナーを登録flipOption(LeftNavBar.DISPLAY_AUTO_EXPAND)して、次のように関数を呼び出して、希望どおりに動作させるようにしました。

  private LeftNavBar getLeftNavBar() {
    if (mLeftNavBar == null) {
       -------
       -------
        mLeftNavBar.setOnFocusChangeListener(new View.OnFocusChangeListener() {

            @Override
            public void onFocusChange(View v, boolean hasFocus) {

                flipOption(LeftNavBar.DISPLAY_AUTO_EXPAND);
            }
        });


    }
    return mLeftNavBar;
}

leftNavBar に何もない場合、上記のコードは正常に機能するようになりました。フォーカスを受け取る/失うと表示/非表示になります。しかし、いくつかのタブを追加すると機能しません。

それを達成する方法はありますか?

4

2 に答える 2

2

googletv -android-samplesには、LeftNavBar コードと LeftNavBarDemo の両方があります。LeftNavBarDemo を使用すると、探している動作を実現するために必要な設定を確認できます。

正しいオプションを設定するだけです - 実際には FlipOption onFocusChange を行う必要はありません - 正しい初期オプションを設定すると、自動的に拡張および縮小されます。詳細をお伝えしますが、アプリケーションはそれぞれ異なります。

于 2012-07-19T18:38:05.767 に答える