ActionBar就是一个标题栏,以前Android3.0之前还称为标题栏,Android3.0之后取名为ActionBar

首先必须在AndroidManifest.xml中指定Application或Activity的theme是Theme.Holo或其子类,否则将无法使用ActionBar

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

<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@android:style/Theme.Holo.Light"
android:name=".intent.MyApplication">

Android对ActionBar进行了一系列的封装;

ActionBar就是标题栏:

隐藏标题栏:

package liudeli.activity;

import android.app.ActionBar;
import android.app.Activity;
import android.os.Bundle; public class MyActionBarActivity extends Activity { @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); setContentView(R.layout.activity_action_bar); // ActionBar是在Activity中,所以可以直接得到
ActionBar actionBar = getActionBar(); // 隐藏ActionBar(标题栏)
actionBar.hide();
}
}

可以对ActionBar进行各种各样的设置,ActionBar提供了各式各样的方法:


关于Menu菜单:

早期之前的Android2.2,Android2.3 .....  系统的手机,都是有Menu菜单键的,一般是在左边的键,就是菜单Menu键

随着Android的发展,这个菜单Menu键 慢慢的就不见了,现在很多手机都没有了这个菜单Menu键了,于是Android就设计了可以把Menu放置在ActionBar上;


AndroidManifest.xml的主题配置为 可以使用ActionBar

首先必须在AndroidManifest.xml中指定Application或Activity的theme是Theme.Holo或其子类,否则将无法使用ActionBar

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

<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@android:style/Theme.Holo.Light"
android:name=".intent.MyApplication">

Activity的代码:

package liudeli.activity;

import android.app.ActionBar;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.widget.Toast; public class MyActionBarActivity extends Activity { @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); // ActionBar是在Activity中,所以可以直接得到
// ActionBar actionBar = getActionBar(); // 隐藏ActionBar(标题栏)
// actionBar.hide(); // actionBar. ......
} /**
* 创建菜单里面的选择
* @param menu
* @return
*/
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
// 使用菜单加载器
MenuInflater menuInflater = getMenuInflater(); // 加载一个菜单文件
menuInflater.inflate(R.menu.menu, menu); return true;
} /**
* 菜单里面的选择被选择回调
* @param item
* @return
*/
@Override
public boolean onOptionsItemSelected(MenuItem item) {
super.onOptionsItemSelected(item);
switch (item.getItemId()) {
case R.id.menu_create:
Toast.makeText(this, item.getTitle()+ "-你选择了创建", Toast.LENGTH_SHORT).show();
break;
case R.id.menu_delete:
Toast.makeText(this, item.getTitle()+ "-你选择了删除", Toast.LENGTH_SHORT).show();
break;
case R.id.menu_sub1: // 子菜单
Toast.makeText(this, item.getTitle()+ "-你选择了子菜单一", Toast.LENGTH_SHORT).show();
break;
case R.id.menu_sub2: // 子菜单
Toast.makeText(this, item.getTitle()+ "-你选择了子菜单二", Toast.LENGTH_SHORT).show();
break;
}
return true;
}
}

Menu.xml 文件的代码

<?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/menu_create"
android:icon="@android:drawable/ic_menu_add"
android:title="X新建">
</item> <item
android:id="@+id/menu_delete"
android:icon="@android:drawable/ic_menu_add"
android:title="X删除">
</item> <item android:title="X子菜单"> <menu> <item
android:id="@+id/menu_sub1"
android:icon="@android:drawable/ic_menu_add"
android:title="X子菜单1">
</item> <item
android:id="@+id/menu_sub2"
android:icon="@android:drawable/ic_menu_add"
android:title="X子菜单2">
</item> </menu> </item> </menu>

效果:(Android模拟器是有Menu菜单键的)

Android-ActionBar-与Menu结合的更多相关文章

  1. Android ActionBar以及menu的代码设置样式

    menu部分xml代码 <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android= ...

  2. android ActionBar 去掉menu分隔线

    自定义Theme继承原来Theme修改其中的分隔线: <item name="actionBarDivider">@null</item>  低版本设置 & ...

  3. Android ActionBar 初探

    1.指南,例子,个人感觉 首先上官网指南链接http://developer.android.com/guide/topics/ui/actionbar.html 参考了官网上的例子http://de ...

  4. Android ActionBar

    ActionBar 在android3.0中就加入了,但是android3.0适用于平板电脑的,在手机不能使用.android 4.0之后也开始有AndroidBar.所以说要想使用androidBa ...

  5. ToolBar、ActionBar与Menu的纠葛(以及navigationIcon、setHomeButtonEnabled、setDisplayHomeAsUpEnabled)

    因为贴图的繁琐...所以下面是无图版...完整的在这里: 探究一下toobar和actionbar在使用menu时的吊诡情况 一.背景介绍 toolbar最近比较火,而且是出出来代替actionbar ...

  6. Android ActionBar 一步一步分析 (转)

    原文摘自:http://blog.csdn.net/android2me/article/details/8874846 1.Action Bar 介绍 我们能在应用中看见的actionbar一般就是 ...

  7. Android ActionBar详解

    Android ActionBar详解 分类: Android2014-04-30 15:23 1094人阅读 评论(0) 收藏 举报 androidActionBar   目录(?)[+]   第4 ...

  8. Android ActionBar(转)

    本文内容 关于 ActionBar 必要条件 项目结构 环境 演示一:Action Bar 显示隐藏 演示二:Action Item 显示菜单选项 演示三:Action Home 启用“返回/向上”程 ...

  9. Android ActionBar应用实战,高仿微信主界面的设计

    转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/26365683 经过前面两篇文章的学习,我想大家对ActionBar都已经有一个相对 ...

  10. Android ActionBar完全解析,使用官方推荐的最佳导航栏(下) .

    转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/25466665 本篇文章主要内容来自于Android Doc,我翻译之后又做了些加工 ...

随机推荐

  1. 获取iframe内的元素

    $("#iframeID").contents().find("#index_p") 2获取父窗体的值 $('#father', parent.document ...

  2. Loadrunner进行参数化

    Loadrunner进行参数化 Loadrunner中进行参数化,这里有三种方法. 对需要多次使用的变量进行参数化,比如登录信息的用户名和密码,首先需要选中需要参数化的值,然后右键选择Replace ...

  3. TensorFlow—CNN—CIFAR数据集分类

  4. 早上突然看明白 shader和材质球的关系

    计算机的世界不外乎 指令+数据 shader即Gpu指令,材质即数据

  5. 旋转链表(所有元素往右移) rotate list

    [抄题]: 给定一个链表,旋转链表,使得每个节点向右移动k个位置,其中k是一个非负数 样例 给出链表1->2->3->4->5->null和k=2 返回4->5-& ...

  6. [leetcode]239. Sliding Window Maximum滑动窗口最大值

    Given an array nums, there is a sliding window of size k which is moving from the very left of the a ...

  7. nginx accept() failed (24: Too many open files)

    nginx服务器出现如下信息: [crit] 17221#0: accept4() failed (24: Too many open files) [crit] 17221#0: accept4() ...

  8. SNP问题大集锦

    SNP问题大集锦 [2017-01-19]       最近小编对基因检测很感兴趣,也跟风去测了一下,这一测不要紧,吓得小编几天没睡着觉,这不,检测报告上称小编的减肥能力弱,虽然小编一家都是胖子,唯有 ...

  9. cmake 头文件 库文件 链接库

    原文地址:http://www.cnblogs.com/binbinjx/p/5626916.html 1. 添加头文件目录INCLUDE_DIRECTORIES 语法: include_direct ...

  10. 如何处理好前后端分离的 API 问题(转载自知乎)

    9 个月前 API 都搞不好,还怎么当程序员?如果 API 设计只是后台的活,为什么还需要前端工程师. 作为一个程序员,我讨厌那些没有文档的库.我们就好像在操纵一个黑盒一样,预期不了它的正常行为是什么 ...