2

Как я могу заставить пункт меню отображаться под значком переполнения. Я поддерживаю поддержку приложений с уровня api 8 и выше. пока он показывается как actionview. My menuLayout выглядит следующим образом.как показать пункт меню под значком переполнения в android api 8+

//main.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_menu_setting" 
    android:title="@string/menuItemSetting" 
    app:showAsAction="ifRoom"/> 
<item 
    android:id="@+id/action_signout" 
    android:title="@string/menuItemLogout" 
    app:showAsAction="ifRoom"/> 
</menu>  

в классе Java

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

Я попытался с другими вариантами showAsAction, но ни один из них не работал. Пожалуйста, предложите мне, как я могу показать выше двух меню itme под значком overflow (когда я нажму на эти два появится в качестве списка действий.)

+0

изменить это приложение: showAsAction = "ifRoom" для приложения: showAsAction = "никогда" –

+0

в этом случае значок переполнения не видимый в android api <11. –

+0

Если у устройства есть значок переполнения меню, значок не отображается, это точно –

ответ

1

Не могли бы вы разместить java-код? У вас есть код ниже в вашей деятельности?

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // TODO Auto-generated method stub 
    getMenuInflater().inflate(R.menu.menu, menu);; 
    return super.onCreateOptionsMenu(menu); 
} 

Edit: Я непрестанно использовать код, как это (когда я нажимаю action_settings будет показывать список действий содержит настройки и бар, я думаю, просто заменить андроид: название = «@ струнный/action_settings» с андроида: значок)

<menu xmlns:android="http://schemas.android.com/apk/res/android" > 
    <item 
     android:id="@+id/action_settings" 
     android:orderInCategory="100" 
     android:showAsAction="always" 
     android:title="@string/action_settings"> 
     <menu> 
      <item 
       android:enabled="true" 
       android:visible="true" 
       android:title="setting" 
       android:id="@+id/setting"> 
      </item> 
      <item 
       android:enabled="true" 
       android:visible="true" 
       android:title="B" 
       android:id="@+id/bar"> 
      </item> 
     </menu> 
    </item> 
    <item 
     android:id="@+id/action_settings1" 
     android:orderInCategory="100" 
     android:showAsAction="always" 
     android:title="@string/action_settings"/> 
</menu> 

Надеется, что это помогает

+0

Если вы прочтете мой вопрос, я упомянул, что 'Пока он показывается как actionview'. MenuItem показывает моего друга, но как actionview, я хочу, чтобы он был как ActionList под значком переполнения. –

1

макета панели пользовательского действия

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="?android:attr/actionBarSize" 
    android:background="@drawable/header" 
    android:orientation="vertical" > 

    <TextView 
     android:id="@+id/tvActionBarTitle" 
     android:layout_width="match_parent" 
     android:layout_height="?android:attr/actionBarSize" 
     android:gravity="center" 
     android:textColor="#FFFFFF" 
     android:textSize="30sp" /> 

    <Button.../> 
<!--  your code for button --> 
</LinearLayout> 

Вы можете позвонить ниже функции в OnCreate и кнопки определяют в этой функции, как я определил APPNAME текст вид и его OnClick событие

private void createCutomActionBarTitle() 
     { 
      if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) 
      { 
       this.getActionBar().setHomeButtonEnabled(true); 
      } 
      this.getActionBar().setDisplayShowCustomEnabled(true); 
      this.getActionBar().setDisplayShowTitleEnabled(false); 
      this.getActionBar().setBackgroundDrawable(drawable); 
      this.getActionBar().setIcon(logo); 
      LayoutInflater inflator = LayoutInflater.from(this); 
      View v = inflator.inflate(R.layout.custom_action_bar, null); 

      ((TextView) v.findViewById(R.id.tvActionBarTitle)).setText(Global.ACTIVITY_NAME); 

      this.getActionBar().setCustomView(v); 
     } 

Надежда это будет полезно для вас :) Но нажав физическую кнопку устройства будет не запускать эту кнопку, вы должны ее искать, так как я об этом не знаю

+0

есть ответ для физической кнопки по адресу http://stackoverflow.com/questions/20311353/android-actionbar-compat-overflow-menu-not-showing-on-sdk-10 –