2013-11-27 1 views
0

Я разрабатываю приложение для Android с помощью ActionBarCompat (выпущено google). В таблетках он отображает больше пунктов меню как выпадающее меню в правом верхнем углу (Изображение 1), но на небольших устройствах (трубах) вы должны нажать кнопку меню, чтобы увидеть больше элементов (Изображение 2).Показ «Дополнительные пункты меню» в верхнем правом раскрывающемся меню с Android ActionBarCompat

enter image description here

enter image description here

Есть ли способ, чтобы иметь в правом верхнем углу выпадающее меню, как таблетки в устройствах телефонной трубки? Если да, то как? Спасибо.

ответ

3

Уверен, что вы можете!

Прежде всего, создайте меню menu.xml в res>.

<menu xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:technicachat="http://schemas.android.com/apk/res-auto" 
    android:layout_width="wrap_content" 
    android:layout_height="match_parent"> 

    <item 
     android:id="@+id/dropdown_menu" 
     android:showAsAction="ifRoom" 
     technicachat:showAsAction="ifRoom" 
     android:title="Options" 
     android:icon="@drawable/ic_menu_moreoverflow_normal_holo_light"> 

     <menu> 
      <item 
       android:id="@+id/item1" 
       android:showAsAction="ifRoom" 
       technicachat:showAsAction="ifRoom" 
       android:title="Refresh" 
       android:icon="@drawable/ic_menu_refresh"/> 
     </menu> 
    </item> 
</menu> 

Все элементы под вторым меню будут отображаться при нажатии на кнопку выпадающего меню. Вам даже не нужно использовать onOptionsItemSelected для его удаления.

Как раз для того чтобы обработать выбор деталя.

@Override 
public boolean onOptionsItemSelected(MenuItem item) 
{ 
    switch (item.getItemId()) 
    { 
     case R.id.item1: 
     /*DO STUFF*/ 
    } 

    return super.onOptionsItemSelected(item); 
} 

В случае, если вы хотите PNGs для вашего APK, они находятся под/ваш SDK путь/платформы/андроид-хй/данные/RES /, и вы получили Drawable-ИПЧР, MDPI и т.д. Например, один вам нужно это ic_menu_moreoverflow_normal_holo_light.

Здесь вы находитесь! ;)

+0

Btw "technicachat" в файле xml из-за поддержки actionbar, это мое имя пакета, и вы должны поместить свое, чтобы заставить его работать. –