0

アプリで 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>
4

1 に答える 1

1

公式ドキュメントに従って、android:名前空間なしで属性も宣言する必要があります。あなたの場合、これらの属性はネイティブ実装にのみ適用されます。

于 2013-08-02T23:03:48.353 に答える