2012-08-31 13 views
5

アクションバー(Theme.Holo)がAndroid 3.0またはHeigherでのみクールに見えますが、Android 2.3 。Androidバージョンが3.0未満の場合、アクションバー(Theme.Holo)を非表示にする方法

Androidバージョンに基づいてアクションバー(Theme.Holo)を表示するには離れていますか?

+1

Pre 3.0とPost 3.0の2つのレイアウトを使用して1つを設定できませんでしたか? – AxGryndr

+0

私はそれをprogrmaticallyしたいと思っています。例えば、アンドロイドバージョンをチェックします.3.0未満であればバーを削除します。 – user836026

+1

Android 2.3にアクションバーはありません。具体的な手順を実行して、サードパーティ製のコード(ActionBarSherlockなど)を追加しない限り、アクションバーはありません。 – CommonsWare

答えて

4

定数と

あなたは、実行時にSDKのバージョンを確認することができますそれより低いAndroidの場合は、アクションバーではなくタイトルバーが表示されます。

ActionBarはまだ正式な互換性ライブラリの一部ではないため、ActionBarSherlockライブラリでは、すべてのAPIバージョンで同じように見えるActionBarを使用できます。

ActionBarを完全に非表示にするには、マニフェスト内のアクティビティにandroid:style/Theme.Holo.NoActionBarを追加します。

+0

ありがとう...どうすればアンドロイド:スタイル/テーマ。 Holo.NoActionBarはプログレッシブにアンドロイドのバージョンに依存します。 – user836026

+0

あなたはその属性をプログラマチックに追加することはできないと思いますが、ActionBarSherlockはさまざまなAndroidバージョンを扱い、すべてのAPIバージョンに同じ素晴らしいActionBarを与えます あなたは単にActionBarを完全に非表示にしようとしていますか? Android 3.0よりも低いものは何ですか?アンドロイド3.0+のためにそれを示しますか? – starkej2

+0

はい、正確に言えば、3.0より低いAndroidの「タイトルバー」を非表示にして、3回以上「アクションバー」を残したいと思います。 – user836026

5

アクションバーには、最低限のAPI11が必要です。そのアクティビティのコードでhide()を使用することはできますが、プログラマチックに削除したい場合は、

ActionBar actionBar = getActionBar(); 
actionBar.hide(); 

3.0より下のものでは何が表示されるのかわかりませんが、これは始めるのに最適な場所のようです。

編集:ビルドは、アクションバーは、Android 3.0(APIレベル11)まで添加しなかったので、とてもいずれかのバージョンである

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { //checks if its lower than Honeycomb 
    ActionBar actionBar = getActionBar(); 
    actionBar.hide(); 
} 
+0

ありがとう...しかし、私はどのようにAndroidのバージョンをチェックするのですか? – user836026

+1

答えを編集しました。 – Tonithy

+4

私はそれ以上でなければならないと思う( "> =")記号よりも(<)記号..そして、それは私を助けてくれてありがとう:) – Zombie

関連する問題