添加action bar 按钮

作者: brant_feeboo | 来源:发表于2017-02-04 16:01 被阅读0次

    Action bar 允许添加按钮。可以添加 icon 和/或文本被称作action buttons(操作按钮)。安排不下的或不足够重要的操作被隐藏在action overflow(超出空间的action)中。

    在 XML 中指定操作

    所有的操作按钮和 action overflow 中其他可用的条目都被定义在menu资源的 XML 文件中。通过在项目的res/menu目录中新增一个 XML 文件来为 action bar 添加操作。

    为想要添加到 action bar 中的每个条目添加一个 <item> 元素。例如:

    res/menu/main_activity_actions.xml

    如果为了兼容 Android 2.1 的版本使用了 Support 库,在android命名空间下showAsAction属性是不可用的。

    Support 库会提供替代它的属性,我们必须声明自己的 XML 命名空间,并且使用该命名空间作为属性前缀。(一个自定义 XML 命名空间需要以我们的 app 名称为基础,但是可以取任何想要的名称,它的作用域仅仅在我们声明的文件之内。)例如:res/menu/main_activity_actions.xml

    为 Action Bar 添加操作

    在 activity 中实现onCreateOptionsMenu()回调方法来inflate菜单资源从而获取Menu对象。例如:

    为操作按钮添加响应事件

    调用 activity 中onOptionsItemSelected()。在该方法的实现里面调用MenuItemgetItemId()来判断哪个条目被按下 - 返回的 ID。例如:

    为下级 Activity 添加向上按钮

    当运行在 Android 4.1(API level 16) 或更高版本,或者使用 Support 库中的ActionBarActivity时,实现向上导航需要在 manifest 文件中声明父 activity ,同时在 action bar 中设置向上按钮可用。

    如何在 manifest 中声明一个 activity 的父类,例如:

    然后,通过调用setDisplayHomeAsUpEnabled()来把 app icon 设置成可用的向上按钮:

    由于系统已经知道MainActivity是DisplayMessageActivity的父 activity,当用户按下向上按钮时,系统会导航到恰当的父 activity - 你不需要去处理向上按钮的事件。

    源地址:http://wiki.jikexueyuan.com/project/android-training-geek/adding-buttons.html

    相关文章

      网友评论

        本文标题:添加action bar 按钮

        本文链接:https://www.haomeiwen.com/subject/zaojittx.html