0

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

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

它显示如下:
在此处输入图像描述
和 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. 我想更改右上角的列表图标。
4

3 回答 3

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>
于 2013-05-10T08:43:34.897 回答
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;

    }

希望能帮助到你

于 2013-05-10T09:00:51.170 回答
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

于 2013-05-10T08:40:19.503 回答