关于Android的ActionBar的一些问题

时间:2013-05-10 08:15:07

标签: android android-actionbar

我使用下面的代码来显示操作栏:

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。

3 个答案:

答案 0 :(得分: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 :(得分: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>

答案 2 :(得分: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;

    }

希望有所帮助