2014-12-21 1 views
0

Я хочу создать свое подменю (например, this), но это не сработает.Изменить стиль подменю

Я пытаюсь сделать это с помощью ("Android Action Bar Style Generator"), и этот способ не применяется ко мне.

Вот мой код ...

Java:

public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.meal, menu); 
    MenuItem menuItem = menu.findItem(R.id.itemList); 

    for(Item item : o.getItems()){ 
     menuItem.getSubMenu().add(item.getName()); 
    } 

    return true; 
} 

menu.xml:

<menu xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    tools:context="apppackage" > 


    <item android:id="@+id/catList" 
     android:title="CatList" 
     android:icon="@drawable/ic_menu_moreoverflow" 
     app:showAsAction="always"> 
    <menu></menu> 

    </item> 
</menu> 

Futhermore Я попытался это ... Но это не работает.

<style name="AppTheme" 
    parent="@style/Theme.AppCompat.Light.DarkActionBar"> 
    <item name="android:actionBarStyle">@style/MyActionBar</item> 
    <item name="android:actionDropDownStyle">@style/MyDropDownNav</item> 
    <!-- Support library compatibility --> 
    <item name="actionBarStyle">@style/MyActionBar</item> 
</style> 

<!-- ActionBar styles --> 
<style name="MyActionBar" 
    parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse"> 
    <item name="android:background">@color/blue</item> 

    <!-- Support library compatibility --> 
    <item name="background">@color/blue</item> 
    <item name="android:spinnerDropDownItemStyle">@style/MyWidget.DropDownItem.Spinner</item> 
</style> 

<style name="MyDropDownNav" parent="@style/Widget.AppCompat.Spinner.DropDown.ActionBar"> 
    <item name="background">@color/blue</item> 
    <item name="android:background">@color/blue</item> 
    <item name="android:popupBackground">@color/blue</item> 
    <item name="android:dropDownSelector">@color/blue</item> 
</style> 

<style name="MyWidget.DropDownItem.Spinner" parent="Widget.AppCompat.DropDownItem.Spinner"> 
    <item name="android:textColor">@color/white</item> 
</style> 

Спасибо за помощь!

ответ

0

Попробуйте это:

<style name="AppTheme" 
    parent="@style/Theme.AppCompat.Light.DarkActionBar"> 
    <item name="android:actionBarStyle">@style/MyActionBar</item> 
    <item name="android:actionDropDownStyle">@style/MyDropDownNav</item> 

    <item name="android:actionBarWidgetTheme">@style/PopupWrapper</item> 
    <!-- Support library compatibility --> 
    <item name="actionBarStyle">@style/MyActionBar</item> 
</style> 

<!-- ActionBar styles --> 
<style name="MyActionBar" 
    parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse"> 
    <item name="android:background">@color/blue</item> 

    <!-- Support library compatibility --> 
    <item name="background">@color/blue</item> 
    <item name="android:spinnerDropDownItemStyle">@style/MyWidget.DropDownItem.Spinner</item> 
</style> 

<style name="MyDropDownNav" parent="@style/Widget.AppCompat.Spinner.DropDown.ActionBar"> 
    <item name="background">@color/blue</item> 
    <item name="android:background">@color/blue</item> 
    <item name="android:popupBackground">@color/blue</item> 
    <item name="android:dropDownSelector">@color/blue</item> 
</style> 

<style name="MyWidget.DropDownItem.Spinner" parent="Widget.AppCompat.DropDownItem.Spinner"> 
    <item name="android:textColor">@color/white</item> 
</style> 

<style name="PopupWrapper" parent="@android:style/Theme.Holo"> 
    <item name="android:popupMenuStyle">@style/MyDropDownNav</item> 
</style> 
+0

Это не работает :( – Sheldon