v7-appcompat ライブラリで提供される新しい SupportActionBar を使用するようにコードを変更しましたが、Jellybean フォンでコードを実行すると (おそらく Honeycomb と Ice Cream Sandwich にも同じ問題が存在します)、ホーム ボタンが機能しないようです。活性化されます。
getSupportActionBar().setHomeButtonEnabled(true); を呼び出しています。それが言うことをしないようですが、Gingerbread電話では機能します.
getActionBar().setHomeButtonEnabled(true) に置き換えると、機能します。
v11+ で使用するテーマは次のとおりです。
<style name="MyTheme" parent="@style/Theme.AppCompat">
<item name="android:windowActionBar">true</item>
<item name="android:windowNoTitle">false</item>
<item name="android:listViewStyle">@style/MyListView</item>
<item name="android:actionBarStyle">@style/MyActionBarStyle</item>
<item name="android:windowSoftInputMode">stateAlwaysHidden</item>
<item name="android:buttonStyle">@style/MyButton</item>
<item name="android:radioButtonStyle">@style/MyRadioButtonStyle</item>
<item name="android:windowContentOverlay">@drawable/ab_solid_dove_grey</item>
<item name="android:windowTitleSize">@dimen/action_bar_height</item>
<item name="android:selectableItemBackground">@drawable/sel_standard_item</item>
<item name="android:windowBackground">@drawable/default_bg</item>
<item name="android:actionMenuTextAppearance">@style/MyActionBarText</item>
<item name="android:actionMenuTextColor">@color/gallery</item>
<item name="android:tabWidgetStyle">@style/MyTabWidget</item>
</style>
また、アクション バー スタイル v11+ が定義されています。
<style name="MyActionBarStyle" parent="android:style/Widget.Holo.ActionBar">
<item name="android:displayOptions">useLogo|showHome|showCustom</item>
<item name="displayOptions">useLogo|showHome|showCustom</item>
<item name="android:actionBarSize">@dimen/action_bar_height</item>
<item name="android:icon">@drawable/ic_launcher</item>
<item name="android:background">@android:color/transparent</item> <!-- Remove blue line from bottom of action bar -->
</style>
アクションバーを正しくサポートするAndroidバージョンでホームボタンが有効にならない理由は誰でも知っています.
=== 更新 === appcompat ライブラリのソース コードを調べたところ、ActionBarImplBase に次のような誤りがあることに気付きました。
setHomeButtonEnabled(abp.enableHomeButtonByDefault() || homeAsUp);
これは、Android のバージョンが ICS よりも古い場合、またはアップ インジケーターを有効にした場合にのみ、ホーム ボタンが有効になることを意味します。- 私はしたくない。