1

我正在構建一個android應用程序,經過幾個月的開發後,我現在陷入了它似乎是一個愚蠢的問題。爲什麼在棒棒糖上的動作欄的android下拉菜單看起來不同?

問題我基本上是與下拉菜單(來自操作欄),根據我的styles.xml與白色背景上方的黑暗文本。然而,在不同的設備上測試我的應用程序,我注意到,在棒棒糖上,同樣的下拉菜單在深色背景上看起來很暗,這使得文本幾乎不可能被讀取。

我認爲「問題」與原始目錄下的文件夾「values-v11」和「values-v14」及其各自的styles.xml有關。試圖玩這個文件複製一些或所有主要styles.xml中的設置,但沒有結果。

這是我styles.xml文件看起來像:

<resources xmlns:android="http://schemas.android.com/apk/res/android"> 

<!-- 
    Base application theme, dependent on API level. This theme is replaced 
    by AppBaseTheme from res/values-vXX/styles.xml on newer devices. 
--> 
<style name="AppBaseTheme" parent="android:Theme.Light"> 
    <!-- 
     Theme customizations available in newer API levels can go in 
     res/values-vXX/styles.xml, while customizations related to 
     backward-compatibility can go here. 
    --> 
</style> 

<!-- Application theme. --> 
<style name="AppTheme" parent="AppBaseTheme"> 
    <item name="android:actionBarStyle">@style/MyActionBar</item> 
    <item name="android:actionBarTabStyle">@style/MyActionBar.Tab</item> 
    <item name="android:actionBarTabBarStyle">@style/MyActionBar.TabBar</item> 
    <item name="android:icon">@android:color/transparent</item> 
    <item name="android:homeAsUpIndicator">@drawable/ic_back_arrow</item> 
    <item name="android:popupMenuStyle">@android:style/Widget.Holo.PopupMenu</item> 
    <item name="android:actionBarWidgetTheme">@style/MyActionBarWidget</item> 
    <item name="android:dropDownListViewStyle">@android:style/Widget.Holo.Light.ListView.DropDown</item> 
</style> 

<style name="MyActionBarWidget" parent="android:Theme.Holo.Light"> 
    <item name="android:popupMenuStyle">@android:style/Widget.Holo.Light.PopupMenu</item> 
    <item name="android:dropDownListViewStyle">@android:style/Widget.Holo.Light.ListView.DropDown</item> 
</style> 

<style name="MyActionBar" parent="@android:style/Widget.Holo.Light.ActionBar"> 
    <item name="android:background">@color/actionbar_background</item> 
    <item name="android:titleTextStyle">@style/Theme.MyAppTheme.ActionBar.TitleTextStyle</item> 
    <item name="android:subtitleTextStyle">@style/Theme.MyAppTheme.ActionBar.SubTitleTextStyle</item> 
</style> 

<style name="MyActionBar.Tab"> 
    <item name="android:background">@drawable/tab_bar_background</item> 
    <item name="android:gravity">center</item> 
</style>  

<style name="MyActionBar.TabBar"> 
    <item name="android:background">@color/actionbar_background</item> 
</style> 

<style name="Theme.MyAppTheme.ActionBar.TitleTextStyle" parent="android:style/TextAppearance.Holo.Widget.ActionBar.Title"> 
    <item name="android:textColor">@color/white</item> 
</style> 

<style name="Theme.MyAppTheme.ActionBar.SubTitleTextStyle" parent="android:style/TextAppearance.Holo.Widget.ActionBar.Subtitle"> 
    <item name="android:textColor">@color/white</item> 
</style> 

+0

你應該使用AppCompat來幫助你......嘗試主題parent =「Theme.AppCompat.Light.DarkActionBar」 – heloisasim

回答

0

後「刷新我的心」在節假日幾個星期的,一旦回到意識到了什麼是創造該問題:

有兩個相互矛盾的定義爲<item name="android:popupMenuStyle"> 一個內部 「AppTheme」 @android:style/Widget.Holo.PopupMenu 一個內部 「MyActionBarWidget」 @android:style/Widget.Holo.Light.PopupMenu

棒棒堂設備正在挑選「AppTheme」下的那個,問題已經通過擺脫它並將其放在「MyActionBarWidget」之下進行排序。

相關問題