2014-01-15 32 views
2

我在使用V7支持版本的Action Bar Activity時遇到了兩個問題。ActionBar的問題

這是我的應用程序是什麼樣子:

enter image description here

而且這是我希望它看起來:

enter image description here

第一個問題是,除了文本標題顯示黑色而不是灰色。

我使用的是展示首頁高達啓用選項,但你不能看到箭頭,因爲其對如上所示的黑色背景黑色(箭頭是存在的,如果你看起來真的很難!)

這是我使用的動作條的風格 - 我相當肯定,我在這裏做得不對,但我想不出什麼:

<style name="PropertyCrossTheme" parent="@style/Theme.AppCompat.Light"> 
    <!-- Any customizations for your app running on pre-3.0 devices here --> 
    <item name="android:actionBarStyle">@style/ActionBar</item> 
    <item name="android:actionMenuTextAppearance">@style/ActionBar.MenuTextStyle</item> 
</style> 
<style name="ActionBar" parent="android:style/Widget.Holo.Light.ActionBar"> 
    <item name="android:background">@drawable/actionbar_background</item> 
    <item name="android:titleTextStyle">@style/ActionBar.TitleText</item> 
</style> 
<style name="ActionBar.TitleText" parent="@android:style/TextAppearance"> 
    <item name="android:textColor">@android:color/white</item> 
</style>  
<style name="ActionBar.MenuTextStyle" parent="android:style/TextAppearance"> 
    <item name="android:textColor">@android:color/white</item> 
</style> 

的第二個問題是,我的收藏夾/從最喜歡的選項中刪除總是被推入隱藏的菜單。

這是我的菜單的xml:

<item android:id="@+id/favourites_add_item" android:title="@string/favourites_add" 
    android:icon="@drawable/nostar" android:showAsAction="always|withText" /> 
<item android:id="@+id/favourites_remove_item" android:title="@string/favourites_remove" 
    android:icon="@drawable/star" android:showAsAction="always|withText" /> 

而在代碼我加入這樣的菜單(我知道這是C# - 我使用Xamarin,但我不認爲這是對的原因這個問題,所以,請假裝它的Java :-D):

public override bool OnCreateOptionsMenu(IMenu menu) 
    { 
     MenuInflater.Inflate(Resource.Menu.favourites_toggle, menu); 
     return true; 
    } 
    public override bool OnPrepareOptionsMenu(IMenu menu) 
    { 
     IMenuItem addItem = menu.FindItem(Resource.Id.favourites_add_item); 

     addItem.SetVisible(!IsFavourited); 

     IMenuItem removeItem = menu.FindItem(Resource.Id.favourites_remove_item); 
     removeItem.SetVisible(IsFavourited); 
     return true; 
    } 

感謝

羅斯

+1

你應該改變主題@風格/ Theme.AppCompat.Light.DarkActionBar。否則,drawable將是一個較暗的灰色,意味着在一個輕的ActionBar上,而對於一個黑色的ActionBar則是淺灰色。 – Kiliman

回答

1

呦ü使用支持V7,因此你需要使用:的

app:showAsAction="always|withText" 

代替

android:showAsAction="always|withText" 

應用程序應該是:

xmlns:app="http://schemas.android.com/apk/res-auto" 

注意,在使用withText當你迫使它顯示與菜單項相關聯的文本,如果您只想顯示該明星,則可能不需要。

2

在菜單XML,嘗試刪除 「| withText」,所以它看起來像:

<item android:id="@+id/favourites_add_item" android:title="@string/favourites_add" 
android:icon="@drawable/nostar" android:showAsAction="always" /> 
<item android:id="@+id/favourites_remove_item" android:title="@string/favourites_remove" 
android:icon="@drawable/star" android:showAsAction="always" />