2013-05-10 4 views
0

Я использую ниже код, чтобы показать действие бар:Некоторые вопросы ActionBar на Android

setTheme(android.R.style.Theme_WithActionBar); 
ActionBar bar = getActionBar(); 
bar.setBackgroundDrawable(new ColorDrawable(0x000000)); 

И как показано ниже:
enter image description here
И menu.xml, как показано ниже:

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android" > 
    <item android:id="@+id/a" 
     android:icon="@drawable/a" 
     android:title="1" 
     android:showAsAction="ifRoom|withText" /> 
    <item android:id="@+id/b" 
     android:icon="@drawable/b" 
     android:title="2" 
     android:showAsAction="ifRoom|withText" /> 
    <item android:id="@+id/c" 
     android:icon="@drawable/c" 
     android:title="3" 
     android:showAsAction="ifRoom|withText" /> 
</menu> 
  1. Я хочу установить цвет фона для черного.
  2. Я хочу, чтобы заказ был показан на экране ActionBar 1 и 2, а также список 3.
    Как я могу это сделать?
  3. Я хочу изменить значок списка ob Top-Right.

ответ

1

Чтобы установить значок меню попробуйте сделать это.

public boolean onCreateOptionsMenu(Menu menu) { 
     SubMenu sub = menu.addSubMenu(0,Menu.FIRST,1,"Menu").setIcon(R.drawable.abs__ic_menu_moreoverflow_normal_holo_dark); 
      sub.add(0, 2, 0, "Settings"); 
      sub.add(0, 3, 0, "About"); 
      sub.add(0, 4, 0, "Exit"); 
      sub.getItem().setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT); 
      return true; 

    } 

Надеюсь, это поможет

1

Ответ на вопрос 1.

Вместо 0x000000 использования android.graphics.Color.BLACK.

См http://developer.android.com/reference/android/graphics/Color.html

ответа на вопрос 2. Смените

<item android:id="@+id/c" 
    android:icon="@drawable/c" 
    android:title="3" 
    android:showAsAction="ifRoom|withText" /> 

в

<item android:id="@+id/c" 
    android:icon="@drawable/c" 
    android:title="3" 
    android:showAsAction="never" /> 

см http://developer.android.com/guide/topics/resources/menu-resource.html

1

Вы можете установить PopupListView's фон с помощью:

<style name="Theme.Play" parent="@style/Theme.Holo.Light"> 
    <item name="android:popupMenuStyle">@style/PopupMenu.Play</item> 
</style> 
<style name="PopupMenu.Play" parent="@android:style/Widget.ListPopupWindow"> 
    <item name="android:popupBackground">@drawable/menu_dropdown_panel_play</item> 
</style> 

Устроить ActionBar's элементы, которые вы должны создать свое меню так:

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

<item 
    android:id="@+id/action_first" 
    android:orderInCategory="100" 
    android:showAsAction="always" 
    android:title="@string/action_first"/> 

<item 
    android:id="@+id/action_second" 
    android:orderInCategory="200" 
    android:showAsAction="always" 
    android:title="@string/action_secong"/> 

<item 
    android:id="@+id/action_third" 
    android:orderInCategory="300" 
    android:showAsAction="collapseActionView" 
    android:title="@string/action_third"/> 

и изменить значок OverFlow меню, то вы должны использовать это:

<style name="Theme.Play" parent="@android:style/Theme.Holo.Light"> 
    <item name="android:actionOverflowButtonStyle">@style/OverFlow</item> 
</style> 

<style name="OverFlow" parent="@android:style/Widget.Holo.Light.ActionButton.Overflow"> 
    <item name="android:src">@drawable/ic_action_overflow</item> 
</style> 
Смежные вопросы