Action bar是一个标识应用程序和用户位置的窗口功能,并且给用户提供操作和导航模式。在大多数的情况下,当你需要突出展现用户行为或全局导航的activity中使用action bar,因为action bar能够使应用程序给用户提供一致的界面,并且系统能够很好根据不同的屏幕配置来适应操作栏的外观。你能够用ActionBar的对象的API来控制操作栏的行为和可见性,这些API被添加在Android3.0(API 级别 11)中。
Action bar的主要目的是:
1. 提供一个用于识别应用程序的标示和用户的位置的专用空间。
这个空间的左边是应用的图标或logo,以及Activity的标题。但是,如果是像当前选择的标签这样的标识当前View对象的导航标签,你可以选择删除Activity的标题。
2. 在不同的应用程序之间提供一致的导航和视觉体验。
Action bar提供了用于Fragment间切换的内置导航标签。它还提供了一个用于替换导航模式或优化当前视觉效果(如按照不同条件排序的列表)的下拉列表。
3. 突出Activity的关键操作(如“搜索”、“创建”、“共享”等),并且在可预见的方法内给用户提供快捷的访问。
对于关键的用户操作,你能够通过把选项菜单项作为操作项直接放到操作栏中,从而提供快捷的访问。操作项目还能提供一个操作窗口,这个窗口给更直接的操作行为提供一个嵌入的窗口部件。没有改进成操作项的菜单项在溢出菜单中还是有效的,用户既可以使用设备上的菜单按钮(设备上有按钮的时候),也可以使用操作栏中的溢出菜单按钮(当设备上不包含菜单按钮时)来显示这些操作项目。
下面上一个简单ActionBar的代码
layout : activity_first_action_bar.xml
menu : activity_first_action_bar.xml
该例子会在附件中有源代码。
介绍一个item中的android:showAsAction选项:
这个属性可接受的值有:
1、always:这个值会使菜单项一直显示在Action Bar上。
2、ifRoom:如果有足够的空间,这个值会使菜单项显示在Action Bar上。
3、never:这个值使菜单项永远都不出现在Action Bar上。
4、withText:这个值使菜单项和它的图标,菜单文本一起显示。
android:showAsAction="always|collapseActionView表示可扩展
AndroidManifest.xml中<activity中配置 android:uiOptions="splitActionBarWhenNarrow"
会将ActionBar放到底下的界面中
Action bar的主要目的是:
1. 提供一个用于识别应用程序的标示和用户的位置的专用空间。
这个空间的左边是应用的图标或logo,以及Activity的标题。但是,如果是像当前选择的标签这样的标识当前View对象的导航标签,你可以选择删除Activity的标题。
2. 在不同的应用程序之间提供一致的导航和视觉体验。
Action bar提供了用于Fragment间切换的内置导航标签。它还提供了一个用于替换导航模式或优化当前视觉效果(如按照不同条件排序的列表)的下拉列表。
3. 突出Activity的关键操作(如“搜索”、“创建”、“共享”等),并且在可预见的方法内给用户提供快捷的访问。
对于关键的用户操作,你能够通过把选项菜单项作为操作项直接放到操作栏中,从而提供快捷的访问。操作项目还能提供一个操作窗口,这个窗口给更直接的操作行为提供一个嵌入的窗口部件。没有改进成操作项的菜单项在溢出菜单中还是有效的,用户既可以使用设备上的菜单按钮(设备上有按钮的时候),也可以使用操作栏中的溢出菜单按钮(当设备上不包含菜单按钮时)来显示这些操作项目。
下面上一个简单ActionBar的代码
import android.app.Activity; import android.os.Bundle; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; import android.view.Window; import android.widget.Button; import android.widget.Toast; public class FirstActionBarActivity extends Activity { private Button hideShowActionBar; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getWindow().requestFeature(Window.FEATURE_ACTION_BAR); setContentView(R.layout.activity_first_action_bar); hideShowActionBar = (Button) findViewById(R.id.button_hide_show_actionbar); } public void onClick_HideShowActionBar(View view) { if (getActionBar() == null) return; if (getActionBar().isShowing()){ getActionBar().hide(); hideShowActionBar.setText("显示ActionBar"); }else{ getActionBar().show(); hideShowActionBar.setText("隐藏ActionBar"); } } @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.activity_first_action_bar, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { Toast.makeText(this, item.getTitle(), Toast.LENGTH_LONG).show(); return super.onOptionsItemSelected(item); } }
layout : activity_first_action_bar.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <Button android:id="@+id/button_hide_show_actionbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:onClick="onClick_HideShowActionBar" android:text="隐藏ActionBar" /> </LinearLayout>
menu : activity_first_action_bar.xml
<?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android" > <item android:id="@+id/menu_save" android:icon="@drawable/save" android:showAsAction="ifRoom|withText" android:title="保存"/> <item android:id="@+id/menu_open" android:icon="@drawable/open" android:showAsAction="ifRoom" android:title="打开"/> <item android:id="@+id/menu_search" android:icon="@drawable/search" android:showAsAction="always" android:title="保存"/> </menu>
该例子会在附件中有源代码。
介绍一个item中的android:showAsAction选项:
这个属性可接受的值有:
1、always:这个值会使菜单项一直显示在Action Bar上。
2、ifRoom:如果有足够的空间,这个值会使菜单项显示在Action Bar上。
3、never:这个值使菜单项永远都不出现在Action Bar上。
4、withText:这个值使菜单项和它的图标,菜单文本一起显示。
android:showAsAction="always|collapseActionView表示可扩展
AndroidManifest.xml中<activity中配置 android:uiOptions="splitActionBarWhenNarrow"
会将ActionBar放到底下的界面中
- FirstActionBar.zip (1.3 MB)
- 下载次数: 0
发表评论
-
2048源码(核心算法有,缺少几个anctionbar,以后补上)
2014-09-25 13:22 15202048游戏基本上有四部分组成, 1:主activity,包含 ... -
android动画效果
2014-09-24 18:06 1144前几天弄alertdialog和popupwindow的时候, ... -
AlertDialog和PopupWindow
2014-09-18 15:44 1899区别:AlertDialog是非阻塞式对话框:AlertDia ... -
基础篇--resources资源
2014-09-12 15:18 534最近一直在做java开发,偶尔敲点android代码,突然发现 ... -
多点触摸(图片缩放为例)
2014-09-01 17:22 652多点触摸的事件跟单点是大同小异的,上个图片缩放的代码,供大家参 ... -
Toast的多种样式(附带Notification)
2014-09-01 13:48 938Toast以前用的时候一直以为只有文字提示,偶然得知也有多种样 ... -
Android Adapter详解(2)
2014-08-15 14:05 10以前Adapter一直用的不是太好,经过长时间的浸淫,现在可以 ... -
BroadcastReceiver简介
2014-08-14 16:27 671BroadcastReceiver作为四大 ... -
关于Android的Service
2014-08-14 13:57 460说起来真是羞愧,以前手机经常开机的时候,不会有任何QQ消息通知 ... -
在开发过程中易出的错误
2014-08-13 16:53 4021:如果继承ListActivity,那么layout中必须有 ... -
多媒体的浅尝辄止
2014-08-12 15:57 532下面简单讲几种Android的多媒体技术,音频,视频,摄像头, ... -
Sqlite无脑使用
2014-08-11 14:56 887不会sqlite的人再也不用愁了,无脑使用,只要会粘贴复制就O ... -
android弹出框
2014-08-11 11:23 516不得不说,android自带的弹出框真心丑,而且还不好用,接下 ... -
android几种数据存储方式
2014-08-11 10:45 709android数据存储方式 1:SharedPreferen ... -
SQLiteOpenHelper和ContentProvider区别
2014-08-06 15:08 1434Android中操作数据库主要有两种方法:使用SQLiteOp ... -
xml文件解析SAX
2014-08-05 13:45 497xml文件解析:xml文件解析有四种方式, 1.DOM生成和解 ... -
Android不常用代码(1)
2014-07-31 18:07 536目录 1:Webview 2:js交互 1:Web ... -
系统窗口的调用
2014-07-31 15:46 467直接上代码吧,intent进行调用 @Override ... -
fragment简单实用及数据传递(2)
2014-07-31 15:13 2547FragmentTransaction 进行数据传递 imp ... -
fragment简单实用及数据传递(1)
2014-07-30 16:29 730Fragment的使用相关 使用Fragment时,需要继承 ...
相关推荐
一、ActionBar简介 ActionBar是Android 3.0(API Level 11)引入的一个特性,旨在提升应用的用户体验,提供一个统一的导航和操作界面。它通常包含应用的logo、标题、菜单项和可扩展的操作空间。在Android 4.0(API ...
### 一、ActionBar简介 ActionBar是Android 3.0(API Level 11)及以上版本中默认包含的一个组件,它为用户提供了一个直观的界面来执行常见的操作,如返回、搜索、设置等。ActionBar不仅提供了一个统一的外观和感觉...
ActionBar简介 - **功能**:ActionBar通常包含应用的Logo或Title,可操作的菜单项(如搜索、分享、设置等),以及用于导航的选项(如抽屉导航或Tab导航)。 - **设计指南**:遵循Material Design规范,Action Bar被...
一、ActionBar简介 ActionBar是Android 3.0(API级别11)引入的一个UI元素,旨在为用户提供一致且易于使用的界面。它通常包含应用图标、标题、操作按钮(如菜单项)和可选的下拉导航菜单。通过使用ActionBar,开发者...
#### 一、ActionBar简介与作用 **ActionBar** 在Android开发中扮演着重要的角色,它位于Activity的顶部,主要功能包括显示Activity的标题、图标、操作按钮等,并可以集成一些用于交互的视图。通过合理地利用...
#### 一、ActionBar简介及基本概念 ActionBar作为Android应用界面中的一个重要组件,主要用于展示应用的品牌标识、提供主要的导航功能以及其他常见操作的访问入口。它通常位于屏幕的顶部,是用户与应用交互的重要...
**一、ActionBar简介** ActionBar是Android界面设计指南推荐的组件之一,它位于屏幕顶部,通常包含以下元素: 1. **应用图标**:显示应用程序的标识。 2. **动作按钮**:用于展示常用操作,可以是文字或图标。 3. ...
ActionBar简介** 在Android 3.0(API级别11)引入的ActionBar是应用界面的重要组成部分,它提供了应用的品牌标识、操作选项和导航。在ActionBar中,用户可以找到应用的标题、菜单项、搜索框、下拉列表等元素,从而...
**一、ActionBar简介** ActionBar是在Android 3.0(API级别11)引入的,用于替代传统标题栏。它的主要功能包括: 1. 显示应用的标识或标题。 2. 提供菜单项,用于触发各种操作。 3. 支持导航模式,如Tab切换。 4. ...
- **ActionBar简介**:介绍ActionBar的功能和用途,它是Android应用顶部栏的一种形式。 - **ActionBar的组成部分**:分析ActionBar中各个部分的作用,如标题、菜单等。 - **使用ActionBar**:指导如何在应用中启用并...
- **ActionBar简介**:介绍ActionBar的作用和组成元素。 - **自定义ActionBar**:讲解如何定制ActionBar以匹配应用的设计风格。 11. **第11章:高级调试与分析** - **调试技巧**:分享一些高效的调试技巧。 - *...
- ActionBar简介 - 设置操作栏 - 动作按钮与上下文菜单 **3.3 片段(Chapter 28: Fragments)** - **知识点:** - Fragment概述 - 生命周期与回调方法 - Fragment事务管理 **3.4 处理平台变更(Chapter 29:...
项目简介 为什么要写一个ActionBar?官方的和网上开源的那么多。 第一,先说说官方的。官方的在不同系统上的风格并不统一,自定义项太少,不能满足开发需求,所以才涌现了这么多的开源项目。 第二,网上开源的。网上...
一、`ActionBar`简介 `ActionBar`是Android 3.0(API Level 11)引入的一个设计模式,旨在提高应用的可用性和一致性。它提供了一个统一的界面来展示应用的品牌、当前上下文和关键操作。`ActionBar`可以包含以下部分...
`ActionBar`简介 `ActionBar`是Android 3.0(API级别11)引入的一个功能强大的组件,旨在提高应用的导航和用户交互体验。它通常包含以下几个部分: - 应用图标:展示应用的标识。 - 标题/副标题:显示当前活动或...
**一、ActionBarSherlock简介** ActionBarSherlock是一个兼容库,旨在为所有Android版本提供Action Bar支持。它通过一个统一的API,使得开发者可以轻松地在低版本的Android设备上实现Action Bar特性,如选项菜单、...
首先,我们来看"JavaApk源码说明.txt",这个文件通常包含了源码的简介和使用指导。它可能涵盖了如何导入项目、主要类的介绍以及需要注意的事项。源码的作者可能没有逐一验证所有功能,这意味着开发者在使用时可能...
一、`android-support-v7-appcompat`简介 `android-support-v7-appcompat`库是Android Support Library系列的一部分,主要目的是提供对Android API Level 14及以下版本的兼容性。此库包含了许多Android的V7组件,如...
ActionBar actionBar = getActionBar(); actionBar.setDisplayHomeAsUpEnabled(true); actionBar.setDisplayShowHomeEnabled(true); actionBar.hide(); actionBar.show(); gallery = (MyMirrorGallery) ...