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