アクションバーは、 actionbar-compatサンプルで示されているように、ハニカム前のデバイスでも表示できます。
アクションバーをオンデマンドで(プログラムで)表示および非表示にできるようにしたい。それ、どうやったら出来るの?
問題は、サポートライブラリを使用してアクションバーを取得するとnullが返されることです。また、そのIDを使用してそれを見つけ、可視性を消えるように設定しようとしましたが、代わりに空白が表示されました。
アクションバーは、 actionbar-compatサンプルで示されているように、ハニカム前のデバイスでも表示できます。
アクションバーをオンデマンドで(プログラムで)表示および非表示にできるようにしたい。それ、どうやったら出来るの?
問題は、サポートライブラリを使用してアクションバーを取得するとnullが返されることです。また、そのIDを使用してそれを見つけ、可視性を消えるように設定しようとしましたが、代わりに空白が表示されました。
わかりました。回避策はありますが、最初は機能しません。つまり、非常に短い時間、アクションバーが最初に表示されます。
これが、アクションバーを非表示にするために作成したコードです(ハニカム前のバージョンの場合)。これは、この投稿を見て考えたものです。
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()を使用します。
最後に、actionBarSherlockを使用しました。
それははるかに多くの機能を持っており、この要求された機能はそれらの1つです。新しいサポートライブラリはこの機能で動作するかもしれませんが、私はすでにこのソリューションに移行しています。
これを試して、アクティビティのxmlに次のプロパティを設定して、xmlのアクションバーを非表示にしてください。`
<activity
android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >
そうでない場合はコメントを追加してください。私の答えに問題がある場合は、訂正してください。