アプリで ActionBarSherlock と HoloEverywhere を使用しています。ActionBar Style Generator を使用してスタイルを生成し、テキストの色などを手作業で少し変更しました。
Android 4.2 デバイスでは ActionBar が正しく表示される (つまり、オレンジ色で白いテキスト) のに、Android 2.3 デバイスでは ActionBar が黒く灰色のテキストで表示されるという問題があります。
誰がこれを引き起こす可能性があるか知っていますか?
<style name="Theme.MyApp" parent="@style/Holo.Theme.Light.DarkActionBar">
<item name="android:actionBarItemBackground">@drawable/selectable_background_MyApp</item>
<item name="android:popupMenuStyle">@style/PopupMenu.MyApp</item>
<item name="android:dropDownListViewStyle">@style/DropDownListView.MyApp</item>
<item name="android:actionBarTabStyle">@style/ActionBarTabStyle.MyApp</item>
<item name="android:actionDropDownStyle">@style/DropDownNav.MyApp</item>
<item name="android:actionBarStyle">@style/ActionBar.Solid.MyApp</item>
<item name="android:actionModeBackground">@drawable/cab_background_top_MyApp</item>
<item name="android:actionModeSplitBackground">@drawable/cab_background_bottom_MyApp</item>
<item name="android:actionModeCloseButtonStyle">@style/ActionButton.CloseMode.MyApp</item>
<!-- <item name="android:textColorPrimary">#FFFFFF</item> -->
<item name="android:spinnerDropDownItemStyle">@style/ActionBar.Solid.MyApp.NavigationDropDownStyle</item>
</style>
<style name="ActionBar.Solid.MyApp" parent="@android:style/Widget.Holo.Light.ActionBar">
<item name="android:background">@drawable/ab_solid_MyApp</item>
<item name="android:backgroundStacked">@drawable/ab_stacked_solid_MyApp</item>
<item name="android:backgroundSplit">@drawable/ab_bottom_solid_MyApp</item>
<item name="android:progressBarStyle">@style/ProgressBar.MyApp</item>
<item name="android:titleTextStyle">@style/ActionBar.Solid.MyApp.TitleTextStyle</item>
</style>
<style name="ActionBar.Solid.MyApp.NavigationDropDownStyle" parent="@android:style/Widget.Holo.DropDownItem.Spinner">
<item name="android:textAppearance">@style/ActionBar.Solid.MyApp.NavigationDropDownStyle.TextStyle</item>
</style>
<style name="ActionBar.Solid.MyApp.NavigationDropDownStyle.TextStyle" parent="@android:style/Widget">
<item name="android:textColor">@color/white</item>
<item name="android:textSize">18sp</item>
</style>
<style name="ActionBar.Solid.MyApp.TitleTextStyle" parent="@android:style/TextAppearance.Holo.Widget.ActionBar.Title">
<item name="android:textColor">@color/white</item>
<item name="android:textSize">18sp</item>
<!-- <item name="android:fontFamily">sans-serif-medium</item> -->
</style>
<style name="ActionBar.Transparent.MyApp" parent="@android:style/Widget.Holo.ActionBar">
<item name="android:background">@drawable/ab_transparent_MyApp</item>
<item name="android:progressBarStyle">@style/ProgressBar.MyApp</item>
</style>
<style name="PopupMenu.MyApp" parent="@android:style/Widget.Holo.ListPopupWindow">
<item name="android:popupBackground">@drawable/menu_dropdown_panel_MyApp</item>
</style>
<style name="DropDownListView.MyApp" parent="@android:style/Widget.Holo.ListView.DropDown">
<item name="android:listSelector">@drawable/selectable_background_MyApp</item>
</style>
<style name="ActionBarTabStyle.MyApp" parent="@android:style/Widget.Holo.ActionBar.TabView">
<item name="android:background">@drawable/tab_indicator_ab_MyApp</item>
</style>
<style name="DropDownNav.MyApp" parent="@android:style/Widget.Holo.Spinner">
<item name="android:background">@drawable/spinner_background_ab_MyApp</item>
<item name="android:popupBackground">@drawable/menu_dropdown_panel_MyApp</item>
<item name="android:dropDownSelector">@drawable/selectable_background_MyApp</item>
</style>
<style name="ProgressBar.MyApp" parent="@android:style/Widget.Holo.ProgressBar.Horizontal">
<item name="android:progressDrawable">@drawable/progress_horizontal_MyApp</item>
</style>
<style name="ActionButton.CloseMode.MyApp" parent="@android:style/Widget.Holo.ActionButton.CloseMode">
<item name="android:background">@drawable/btn_cab_done_MyApp</item>
</style>
<!-- this style is only referenced in a Light.DarkActionBar based theme -->
<style name="Theme.MyApp.Widget" parent="@android:style/Theme.Holo">
<item name="android:popupMenuStyle">@style/PopupMenu.MyApp</item>
<item name="android:dropDownListViewStyle">@style/DropDownListView.MyApp</item>
</style>
- - - - - - - - 編集 - - - - - - - - - - -
そのため、Android 2.3 デバイスでアクション バーが画面全体を占めるという問題が発生しています (ただし、Android 4.2 では正常に動作します)。親属性から「android:」を削除する必要がありますか?
親="@android:style/Widget.Holo.ListPopupWindow"
これを試したところ、Eclipse はテーマを見つけることができませんでした。
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="Theme.MyApp" parent="@style/Holo.Theme.Light.DarkActionBar">
<item name="android:actionBarItemBackground">@drawable/selectable_background_MyApp</item>
<item name="android:popupMenuStyle">@style/PopupMenu.MyApp</item>
<item name="android:dropDownListViewStyle">@style/DropDownListView.MyApp</item>
<item name="android:actionBarTabStyle">@style/ActionBarTabStyle.MyApp</item>
<item name="android:actionDropDownStyle">@style/DropDownNav.MyApp</item>
<item name="android:actionBarStyle">@style/ActionBar.Solid.MyApp</item>
<item name="android:actionModeBackground">@drawable/cab_background_top_MyApp</item>
<item name="android:actionModeSplitBackground">@drawable/cab_background_bottom_MyApp</item>
<item name="android:actionModeCloseButtonStyle">@style/ActionButton.CloseMode.MyApp</item>
<!-- <item name="android:textColorPrimary">#FFFFFF</item> -->
<item name="android:spinnerDropDownItemStyle">@style/ActionBar.Solid.MyApp.NavigationDropDownStyle</item>
<item name="actionBarItemBackground">@drawable/selectable_background_MyApp</item>
<item name="popupMenuStyle">@style/PopupMenu.MyApp</item>
<item name="dropDownListViewStyle">@style/DropDownListView.MyApp</item>
<item name="actionBarTabStyle">@style/ActionBarTabStyle.MyApp</item>
<item name="actionDropDownStyle">@style/DropDownNav.MyApp</item>
<item name="actionBarStyle">@style/ActionBar.Solid.MyApp</item>
<item name="actionModeBackground">@drawable/cab_background_top_MyApp</item>
<item name="actionModeSplitBackground">@drawable/cab_background_bottom_MyApp</item>
<item name="actionModeCloseButtonStyle">@style/ActionButton.CloseMode.MyApp</item>
<!-- <item name="textColorPrimary">#FFFFFF</item> -->
<item name="spinnerDropDownItemStyle">@style/ActionBar.Solid.MyApp.NavigationDropDownStyle</item>
</style>
<style name="ActionBar.Solid.MyApp" parent="@android:style/Widget.Holo.Light.ActionBar">
<item name="android:background">@drawable/ab_solid_MyApp</item>
<item name="android:backgroundStacked">@drawable/ab_stacked_solid_MyApp</item>
<item name="android:backgroundSplit">@drawable/ab_bottom_solid_MyApp</item>
<item name="android:progressBarStyle">@style/ProgressBar.MyApp</item>
<item name="android:titleTextStyle">@style/ActionBar.Solid.MyApp.TitleTextStyle</item>
<item name="background">@drawable/ab_solid_MyApp</item>
<item name="backgroundStacked">@drawable/ab_stacked_solid_MyApp</item>
<item name="backgroundSplit">@drawable/ab_bottom_solid_MyApp</item>
<item name="progressBarStyle">@style/ProgressBar.MyApp</item>
<item name="titleTextStyle">@style/ActionBar.Solid.MyApp.TitleTextStyle</item>
</style>
<style name="ActionBar.Solid.MyApp.NavigationDropDownStyle" parent="@android:style/Widget.Holo.DropDownItem.Spinner">
<item name="android:textAppearance">@style/ActionBar.Solid.MyApp.NavigationDropDownStyle.TextStyle</item>
</style>
<style name="ActionBar.Solid.MyApp.NavigationDropDownStyle.TextStyle" parent="@android:style/Widget">
<item name="android:textColor">@color/white</item>
<item name="android:textSize">18sp</item>
</style>
<style name="ActionBar.Solid.MyApp.TitleTextStyle" parent="@android:style/TextAppearance.Holo.Widget.ActionBar.Title">
<item name="android:textColor">@color/white</item>
<item name="android:textSize">18sp</item>
<!-- <item name="android:fontFamily">sans-serif-medium</item> -->
</style>
<style name="ActionBar.Transparent.MyApp" parent="@android:style/Widget.Holo.ActionBar">
<item name="android:background">@drawable/ab_transparent_MyApp</item>
<item name="android:progressBarStyle">@style/ProgressBar.MyApp</item>
<item name="background">@drawable/ab_transparent_MyApp</item>
<item name="progressBarStyle">@style/ProgressBar.MyApp</item>
</style>
<style name="PopupMenu.MyApp" parent="@android:style/Widget.Holo.ListPopupWindow">
<item name="android:popupBackground">@drawable/menu_dropdown_panel_MyApp</item>
</style>
<style name="DropDownListView.MyApp" parent="@android:style/Widget.Holo.ListView.DropDown">
<item name="android:listSelector">@drawable/selectable_background_MyApp</item>
</style>
<style name="ActionBarTabStyle.MyApp" parent="@android:style/Widget.Holo.ActionBar.TabView">
<item name="android:background">@drawable/tab_indicator_ab_MyApp</item>
<item name="background">@drawable/tab_indicator_ab_MyApp</item>
</style>
<style name="DropDownNav.MyApp" parent="@android:style/Widget.Holo.Spinner">
<item name="android:background">@drawable/spinner_background_ab_MyApp</item>
<item name="android:popupBackground">@drawable/menu_dropdown_panel_MyApp</item>
<item name="android:dropDownSelector">@drawable/selectable_background_MyApp</item>
<item name="background">@drawable/spinner_background_ab_MyApp</item>
</style>
<style name="ProgressBar.MyApp" parent="@android:style/Widget.Holo.ProgressBar.Horizontal">
<item name="android:progressDrawable">@drawable/progress_horizontal_MyApp</item>
</style>
<style name="ActionButton.CloseMode.MyApp" parent="@android:style/Widget.Holo.ActionButton.CloseMode">
<item name="android:background">@drawable/btn_cab_done_MyApp</item>
<item name="background">@drawable/btn_cab_done_MyApp</item>
</style>
</resources>