1

アクションバーは、 actionbar-compatサンプルで示されているように、ハニカム前のデバイスでも表示できます。

アクションバーをオンデマンドで(プログラムで)表示および非表示にできるようにしたい。それ、どうやったら出来るの?

問題は、サポートライブラリを使用してアクションバーを取得するとnullが返されることです。また、そのIDを使用してそれを見つけ、可視性を消えるように設定しようとしましたが、代わりに空白が表示されました。

4

3 に答える 3

1

わかりました。回避策はありますが、最初は機能しません。つまり、非常に短い時間、アクションバーが最初に表示されます。

これが、アクションバーを非表示にするために作成したコードです(ハニカム前のバージョンの場合)。これは、この投稿を見て考えたものです。

ViewGroup decorView = (ViewGroup) this.getWindow().getDecorView();
ViewGroup root = (ViewGroup) decorView.getChildAt(0);
View titleContainer = root.getChildAt(0);
titleContainer.setVisibility(View.GONE);

アクションバーを最初に非表示にして、いつ表示するかを選択する方法を誰かが知っている場合は、私に知らせてください。

編集:ところで、マニフェストを介してテーマを使用し、actionBarSherlockを使用する場合は、「Theme.Sherlock.Light.NoActionBar」または「Theme.Sherlock.NoActionBar」のいずれかを使用できます。コードで非表示および表示する場合は、単純にgetSupportActionBar()。hide()およびgetSupportActionBar()。show()を使用します。

于 2012-05-02T09:02:23.667 に答える
1

最後に、actionBarSherlockを使用しました。

それははるかに多くの機能を持っており、この要求された機能はそれらの1つです。新しいサポートライブラリはこの機能で動作するかもしれませんが、私はすでにこのソリューションに移行しています。

于 2012-07-18T23:06:27.960 に答える
0

これを試して、アクティビティのxmlに次のプロパティを設定して、xmlのアクションバーを非表示にしてください。`

<activity
      android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >

そうでない場合はコメントを追加してください。私の答えに問題がある場合は、訂正してください。

于 2013-12-19T05:23:35.783 に答える