2015-06-16 2 views
0

моя панель действий показывает только элементы в переполнении. Android-устройство отображает элементы на панели действий (не переполнения). если я запустить приложение на эмуляторе или на устройстве элементов всегда появляется в переполненииAndroid-панель действий только показывает переполнение

action_bar.xml

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



    <item 
     android:id="@+id/action_home" 
     android:icon="@drawable/ic_home" 

     app:showAsAction="always|withText" 
     android:title="home"/> 

    <item 
     android:id="@+id/action_share" 
     android:title="share" 
     android:icon="@android:drawable/ic_menu_share" 
     app:showAsAction="always" 
     /> 

themes.xml

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <style name="MyAppTheme" parent="@android:style/Theme.Holo"> 
     <item name="android:actionBarStyle">@style/MyAppTheme.ActionBarStyle</item> 
    </style> 

    <style name="MyAppTheme.ActionBarStyle" parent="@android:style/Widget.Holo.ActionBar"> 
     <item name="android:titleTextStyle">@style/MyAppTheme.ActionBar.TitleTextStyle</item> 
     <item name="android:displayOptions">showHome</item> 
    </style> 

    <style name="MyAppTheme.ActionBar.TitleTextStyle" parent="@android:style/TextAppearance.Holo.Widget.ActionBar.Title"> 
     <item name="android:textColor">#000000</item> 
    </style> 
</resources> 



@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    MenuInflater inflater = getMenuInflater(); 
    inflater.inflate(R.menu.action_bar, menu); 
    return super.onCreateOptionsMenu(menu); 

} 

спасибо за любую помощь ....

ответ

0

Вы используете Theme.Holo. Это означает, что вы пытаетесь использовать собственную панель действий. В этом случае измените app:showAsAction на android:showAsAction.

+0

извините, это не работает. я изменил xmln: app на xmln: android и изменил приложение: showAsAction на android: showAsAction, но затем появляется сообщение об ошибке «пункт меню должен указывать заголовок» – markus

+0

@markus: «я изменил xmln: app на xmln: android» - - вы заметите, что я не говорил вам об этом. Это потому, что у вас уже было объявление 'xmlns: android', иначе остальная часть вашего XML не будет работать. Удалите декларацию 'xmlns', которую вы изменили, оставив вам только объявление' xmlns: android = "http://schemas.android.com/apk/res/android" в элементе '

'. См. Https://github.com/commonsguy/cw-omnibus/blob/master/ActionBar/ActionBarDemoNative/res/menu/actions.xml для примера ресурса меню. – CommonsWare

+0

thx CommonsWare за вашу помощь, но если я удалю xmlns: app = "http://schemas.android.com/apk/res-auto", я не могу указать showAsAction .... – markus

0

Следующий код поможет решить вашу проблему.

<item 
android:id="@+id/action_share" 
android:icon="@android:drawable/ic_menu_share" 
android:showAsAction="always" 
android:title="share"/> 

Примечание: namespace используется для атрибутов.

Смежные вопросы