0

私のプロジェクトでは Android 2.1 以降をサポートする必要があります。Android 2.1 では、アプリにはAndroid 3.2+ のネイティブ アクション バーとまったく同じように見えるアクション バーが必要です。

ActionbarSherlockライブラリを使用してアクション バーを実装しようとしましたが、Android 2.1プラットフォームでは、アクション バーにoverflowセクション (右端のオプション フィールド) がなく、代わりに物理的な「メニュー」ボタンを使用します。Android 2.1 では、アクション バーの一番左にある「矢印」もありません。

そのため、Android 2.1のアクション バーを手動で実装する必要があるようです。

私の質問:

1. Android 2.1のアクション バーを手動で実装する方法に関する提案

2.アプリが android 3.2+ プラットフォームで実行されている場合、アプリはネイティブ アクション バー API を使用する必要があります。つまり、私のプロジェクトには、異なるプラットフォーム バージョンで異なる実装に自動的に切り替える機能が必要です。(Android 2.1 では、手動で実装されたアクション バーを使用しますが、Android 2.3 以降ではネイ​​ティブ アクション バーを使用します)。これを達成する方法は??

4

1 に答える 1

1

ActionBarSherlock バージョン 3 は、オーバーフローにネイティブ オプション メニューを使用します。これは、ハードウェア メニュー キーが存在する場合にネイティブ ICS アクション バーが使用するものとまったく同じです。また、ネイティブ アクション バーと同じ API を介して「アップ」アフォーダンスも備えていますsetDisplayHomeAsUpEnabled(true)

ほぼ完成している (ここで試すことができる) バージョン 4 も、まったく同じ API を介して「アップ」アフォーダンスを持っていますが、ハードウェア メニュー キーが存在するにもかかわらず、オーバーフロー アイテムを 3.0 より前のデバイスに強制的に表示することもできます。 . 最新のサンプル APK をお試しください...

この段階で ActionBarSherlock や Android-ActionBar、さらには ActionBarCompat などのライブラリを使用しないと、時間の無駄になります。それらが作成されたすべての理由は、アプリを取り囲むいわゆる定型文ではなく、実際のアプリを簡単に作成できるようにすることでした。

于 2012-02-22T12:16:14.143 に答える