zoukankan      html  css  js  c++  java
  • Android: Action Bar的使用

    一、初识Action Bar

    1、定义:

    翻译为操作栏,包括app图标,activity标题,选项菜单,向上按钮,TAB导航等等。

    2、添加Action Bar

    在现在Android Studio中,只要sdk版本大于11,则会默认添加。可以在AndroidManifest.xml中theme属性中选择noActionBar来不显示。

    显示和隐藏Action Bar,API如下:

            //获取Action Bar
            ActionBar actionBar = getSupportActionBar();
            actionBar.show();//显示actionBar
            actionBar.hide();//隐藏actionBar

    二、添加Action Item

     1、定义

    在选项栏中带有快捷方式的按钮,即包括菜单项和溢出菜单。

    2、添加Action Item的方法

    ① 定义菜单资源文件

    在res下新建menu目录,新建menu文件,写上代码如下:

    <?xml version="1.0" encoding="utf-8"?>
    <menu xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto">
        <item android:id="@+id/search"
            android:icon="@drawable/search"
            android:title="search"
            app:showAsAction="always"></item>
        <item android:id="@+id/bell"
            android:icon="@drawable/bell"
            android:title="bell"
            app:showAsAction="ifRoom"></item>
        <item android:id="@+id/settings"
            android:title="设 置"
            app:showAsAction="ifRoom"></item>
        <item android:id="@+id/about"
            android:title="关 于"
            app:showAsAction="never"></item>
    </menu>

    其中,app:showAsAction属性表示是否显示在actionbar上

    属性值:
    always:始终显示在actionbar上
    ifRoom:表示如果actionbar有空间则显示,如果没有空间则显示在溢出菜单
    never:永远不显示
    withText:显示图标并且显示文本

    ② 在onCreateOptionsMenu()方法中加载菜单资源文件

     //重写方法
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            MenuInflater inflater = getMenuInflater();//实例化对象
            inflater.inflate(R.menu.menu,menu);//解析菜单资源文件
            return super.onCreateOptionsMenu(menu);
        }

    即可正常显示。

    三、添加Action View

    即在ActionBar中添加一些可视的组件。

     实例在ActionBar中添加一个搜索框。

    <?xml version="1.0" encoding="utf-8"?>
    <menu xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:andriod="http://schemas.android.com/tools">
        <item
            android:id="@+id/search"
            android:title="搜索"
            app:showAsAction="always"
            app:actionViewClass="android.widget.SearchView" />
    </menu>

    app:actionViewClass="android.widget.SearchView" 属性可显示出ActionView中的搜索框并实现搜索功能。

    在Java文件代码和上步操作一样。

    也可在ActionBar中添加布局文件,在menu.xml中的<item>内添加app:actionLayout="",即可。

     四、实现层级式导航

    即返回上一次的Activity。

            <!--   为该Activity配置父Activity     -->
            <activity
                android:name=".FriendsActivity"
                android:label="朋友圈">
                <meta-data
                    android:name="android.support.PARENT_ACTIVITY"
                    android:value=".MainActivity"/>
            </activity>
  • 相关阅读:
    课后作业 学号15100457
    开学第一课
    20180320作业2:进行代码复审训练
    20180320作业1:源代码管理工具调查
    软工作业PSP与单元测试训练
    构建之法 完成教材第一章P18第4题
    第一天上课 创建博客
    进行代码复审训练
    源代码管理工具调查
    软工作业PSP与单元测试训练
  • 原文地址:https://www.cnblogs.com/dongao/p/12254954.html
Copyright © 2011-2022 走看看