1

アクションバーの互換性の問題を防ぐためにSherlockアクションバーを使用していますが、Android 3.0以降ではうまく機能しないという問題があります。ここに私のスクリーンスナップがあります..

アンドロイド2.2で

バックバージョン

今はこれで問題ありません。気に入っていますが、AVD 4.0 で実行すると、次のようになります。

ここに画像の説明を入力

メニューボタンを押すと表示されるポップアップリストが表示されます。

では、上位バージョンでも同じ動作を行うにはどうすればよいですか?

これが私の oncreateOptionmenu メソッドです..(そこからメニューが膨らみます)

@Override
public boolean onCreateOptionsMenu(Menu menu) {

    getSupportMenuInflater().inflate(R.menu.main_menu, menu);

    return super.onCreateOptionsMenu(menu);
}
4

1 に答える 1

1

問題はエミュレータの設定だと思います。Android 4.0 を搭載したエミュレーターには、ハードウェアの [戻る] ボタンはなく、画面上に 3 つのソフトウェア ボタン (戻る、ホーム、使用中のアプリ) が必要です。私の推測では、デバイスにメニュー ボタンがあれば、アクション バーはそのボタンを取り除きます。ハードウェア ボタンを押すと、オーバーフロー アイコンが表示され、オーバーフロー メニューが表示されます。

ハードウェア ボタンを使用せずにエミュレータを構成してみてください。そのためには、新しいエミュレーターを作成し、ハードウェア フィールドで [新規] をクリックします。次に、[ハードウェア バック/ホーム キー] を選択し、値として [いいえ] を選択します。

このエミュレーターで正しい動作が得られない場合は、そのエミュレーターのスクリーンショットを投稿して、さらなる手がかりを提供してください。

于 2012-11-02T09:01:46.813 に答える