【问题标题】:Some questions of ActionBar on AndroidAndroid上ActionBar的一些问题
【发布时间】:2013-05-10 17:00:51
【问题描述】:

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

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. 我想更改右上角的列表图标。

【问题讨论】:

    标签: android android-actionbar


    【解决方案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;
    
        }
    

    希望对你有帮助

    【讨论】:

      【解决方案2】:

      您可以使用以下方法设置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>
      

      【讨论】:

        【解决方案3】:

        回答问题 1。

        android.graphics.Color.BLACK代替0x000000

        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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-07-10
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多