2011-07-16 10 views
1

私はUsing the Action Barを読んでいました。「タブを追加したりアクションバーのスタイルを変更するなど、アクションバーAPIを使用したい場合は、アンドロイドを設定する必要があります:minSdkVersionを '11'に設定すると、ActionBarクラスにアクセスできます。しかし、I/Oプロジェクトでは、マニフェストはminSdkVersionとして '7'を持ちます。彼らはどのようにテーマやタブを行うことができますか?彼らがやっていることに従うのが難しい。AndroidアクションバーとI/Oプロジェクト

おかげ

答えて

2

私は見て重要なコードはActivityHelperActivityHelperHoneycombであると思います。基本的に彼らはandroid:targetSdkVersion="11"と​​を設定し、Honeycomb(またはそれ以上)上の新しいActionBar APIと独自のカスタムアクションバー実装の前のHoneycombを選択的に呼び出します。

pre-Honeycomb用のアクションバーコードがまだない場合は、ActionBarSherlockという素晴らしいプロジェクトがあります。これは、ActionBar APIを使用して、単にハニカム前処理(いくつかのインポートを変更するだけ)で動作させることができます。

注:あなたはActionBarSherlockを使用することを決定、あなたが新しくリリースされたAPIレベル13R1または12r2コードを使用するように環境をアップグレードした場合は、バージョン3.0.3以降(詳細here)を使用してください。

EDIT:あなたの質問にもっとよく答えるために少し背景があります。 android:targetSdkVersion="11"を設定すると、ActionBarクラスにアクセスできます。 android:targetSdkVersion="7"を設定すると、アプリがあらかじめハニカムデバイス上で実行することができますが、それらからActionBarコードを呼び出すと、NoClassDefFoundErrorにつながる(または多分NoSuchMethodError?)。

ことを避けるために、彼らは彼らが使用するかを決める場所> = 11 ActivityHelper#createInstance(Activity)があるAPIレベルのAPIレベル< 11とActivityHelperHoneycombためActivityHelperを使用しています。

+0

応答をありがとう、遅れて申し訳ありません。私はそれの多くを考え出した。ハニカム以外のアクションバーのメニューオーバーフローはないようです。 I/Oアプリには、最大3つのメニュー項目しか表示されません。アプリ全体でメニューボタンは無効になっています。どこかで溢れていますか?私は3つ以上のメニュー項目をどのように扱うのだろうか。私は携帯電話のメニューを有効にする必要はありません... – Metallicraft

関連する問題