android官方教程学习01——ActionBar1

android中在ActionBar显示菜单项

在android3.0,也就是API11之后,android默认加入了actionbar的支持,通常使用actionbar有以下几种方法

  • 使用android:style/Themes.Holo系列的主题,这样的主题是默认带有actionbar的
  • 使用AppCompat系列的主题

在向actionbar添加菜单项是通过在android的menu的xml文件里面添加的
在添加的时候会涉及到三种方式的显示方式
分别时always,ifroom,never,withText

  1. always 菜单项会一直显示在actionbar上
  2. ifroom会显示可以放得下的图标,放不下的就会折叠,一般是两个,其余的隐藏
  3. never就是都隐藏了
  4. withText没有成功过,据说是能显示文字

代码示例:
首先在manifest里面指定Theme

android:theme="@style/Theme.AppCompat.Light"

然后在activity的文件里最好也指定一下,接着写menu的xml文件

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools" tools:context=".MainActivity">
    <item android:id="@+id/action1c_menu_search"
        android:title="@string/action_settings"
        android:orderInCategory="1"
        android:icon="@android:drawable/ic_menu_search"
        app:showAsAction="always|withText" />

    <item android:id="@+id/action2"
        android:icon="@mipmap/ic_launcher"
        android:title="search"
        android:orderInCategory="2"
        app:showAsAction="withText" />

    <item android:id="@+id/action3"
        android:icon="@mipmap/ic_launcher"
        android:title="search"
        android:orderInCategory="3"
        app:showAsAction="ifRoom" />

    <item android:id="@+id/action4"
        android:icon="@mipmap/ic_launcher"
        android:title="search"
        android:orderInCategory="4"
        app:showAsAction="ifRoom" />

    <item android:id="@+id/action5"
        android:icon="@mipmap/ic_launcher"
        android:title="search"
        android:orderInCategory="5"
        app:showAsAction="ifRoom" />
    <item android:id="@+id/action6"
        android:title="@string/action_settings"
        android:orderInCategory="6"
        android:icon="@android:drawable/ic_menu_search"
        app:showAsAction="ifRoom" />

    <item android:id="@+id/action7"
        android:icon="@mipmap/ic_launcher"
        android:title="search"
        android:orderInCategory="7"
        app:showAsAction="ifRoom" />

    <item android:id="@+id/action8"
        android:icon="@mipmap/ic_launcher"
        android:title="search"
        android:orderInCategory="8"
        app:showAsAction="ifRoom" />

    <item android:id="@+id/action9"
        android:icon="@mipmap/ic_launcher"
        android:title="search"
        android:orderInCategory="9"
        app:showAsAction="ifRoom" />

    <item android:id="@+id/action10"
        android:icon="@mipmap/ic_launcher"
        android:title="search"
        android:orderInCategory="10"
        app:showAsAction="ifRoom" />
</menu>

上面的那个search图标是自带的资源图标,就是一个放大镜

之前遇到了一些问题

  1. ifRoom没用,所有的菜单项都隐藏了,这个是因为使用了holo的主题,使用了这个主题就会出现这样的问题,还不知道是为什么
  2. 设置了AppCompat不行,是因为没有仔细看,有一个叫platform.v11.AppCompat的很像,但是这个是没有actionbar的

猜你喜欢

转载自blog.csdn.net/fate_killer_liu_jie/article/details/46898435
今日推荐