ActionBar简介

 隐藏和显示ActionBar

隐藏ActionBar      getActionBar().hide();

显示ActionBar      getActionBar().show();

 添加和响应Action按钮

 <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>
 package cn.eoe.first.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);
// menu.getItem(2).setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER);
return true;
} @Override
public boolean onOptionsItemSelected(MenuItem item) {
Toast.makeText(this, item.getTitle(), Toast.LENGTH_LONG).show();
return super.onOptionsItemSelected(item);
} }
 <?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="保存"/>
<item
android:id="@+id/menu1"
android:icon="@drawable/ic_launcher"
android:showAsAction="ifRoom"
android:title="菜单项1"/>
<item
android:id="@+id/menu2"
android:icon="@drawable/ic_launcher"
android:showAsAction="ifRoom"
android:title="菜单项2"/> </menu>

 可上下两分的Action

 package cn.eoe.split.actionbar;

 import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.MenuInflater; public class SplitActionBar extends Activity { @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_split_action_bar);
} @Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.activity_split_action_bar, menu);
return true;
}
}
 <?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/open"
android:showAsAction="always|withText"/>
<item
android:id="@+id/menu_open"
android:icon="@drawable/open"
android:showAsAction="always"
android:title="打开"/>
<item
android:id="@+id/menu_search"
android:icon="@drawable/search"
android:showAsAction="always"
android:title="保存"/>
<item
android:id="@+id/menu1"
android:icon="@drawable/ic_launcher"
android:showAsAction="always"
android:title="菜单项1"/>
<item
android:id="@+id/menu2"
android:icon="@drawable/ic_launcher"
android:showAsAction="always"
android:title="菜单项2"/> </menu>

 收缩和展开Action View 

 import android.annotation.SuppressLint;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.MenuItem.OnActionExpandListener;
import android.widget.Toast; @SuppressLint("NewApi")
public class ActionViewActivity extends Activity implements
OnActionExpandListener {
// private Menu menu; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_action_view);
} @Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_action_view, menu);
// this.menu = menu;
for (int i = 0; i < menu.size(); i++) {
menu.getItem(i).setOnActionExpandListener(this);
}
return true;
} @Override
public boolean onMenuItemActionExpand(MenuItem item) {
Toast.makeText(this, "<" + item.getTitle() + ">已经展开", Toast.LENGTH_LONG)
.show(); return true;
} @Override
public boolean onMenuItemActionCollapse(MenuItem item) {
Toast.makeText(this, "<" + item.getTitle() + ">已经收缩", Toast.LENGTH_LONG)
.show();
return true;
} }

res/menu/activity_action_view.xml

 <menu xmlns:android="http://schemas.android.com/apk/res/android" >

     <item
android:id="@+id/menu_item_edit"
android:actionViewClass="android.widget.EditText"
android:showAsAction="always"
android:title="编辑"/>
<item
android:id="@+id/menu_item_clock"
android:actionLayout="@layout/action_view_clock"
android:icon="@drawable/time" android:showAsAction="always|collapseActionView"
android:title="时间"/>
<item
android:id="@+id/menu_item_search"
android:actionViewClass="android.widget.SearchView"
android:icon="@drawable/search"
android:showAsAction="always|collapseActionView"
android:title="搜素"/> </menu>

6. ActionBar详解的更多相关文章

  1. Android ActionBar详解

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

  2. ActionBar详解

    转: 一.ActionBar介绍 在Android 3.0中除了我们重点讲解的Fragment外,Action Bar也是一个非常重要的交互元素,Action Bar取代了传统的tittle bar和 ...

  3. Android ActionBar详解(三):ActionBar实现切换Tabs标签

    实现切换Tabs标签; Activity代码: public class ActionBarTabs extends Activity { @Override protected void onCre ...

  4. Android ActionBar详解(二):ActionBar实现Tabs标签以及下拉导航

    一.添加标签 Tabs   在ActionBar中实现标签页可以实现android.app.ActionBar.TabListener ,重写onTabSelected.onTabUnselected ...

  5. Android ActionBar详解(一):ActionBar概述及其创建

    在Android 3.0中除了我们重点讲解的Fragment外,Action Bar也是一个重要的内容,Action Bar主要是用于代替传统的标题栏,对于Android平板设备来说屏幕更大它的标题使 ...

  6. Android ActionBar详解(三)--->ActionBar的Home导航功能

    FirstActivity如下: package cc.testsimpleactionbar2; import android.os.Bundle; import android.app.Activ ...

  7. Android ActionBar详解(二)--->使用ActionBar显示选项菜单

    MainActivity如下: package cc.testsimpleactionbar1; import android.os.Bundle; import android.app.Activi ...

  8. Android ActionBar详解(一)--->显示和隐藏ActionBar

    MainActivity如下: package cc.testsimpleactionbar0; import android.os.Bundle; import android.view.View; ...

  9. actionbar详解(二)

    经过前面两篇文章的学习,我想大家对ActionBar都已经有一个相对较为深刻的理解了.唯一欠缺的是,前面我们都只是学习了理论知识而已,虽然知识点已经掌握了,但是真正投入到项目实战当中时会不会掉链子还很 ...

随机推荐

  1. Qt 显示图片 放大 缩小 移动(都是QT直接提供的功能)

    本文章原创于www.yafeilinux.com 转载请注明出处. 现在我们来实现在窗口上显示图片,并学习怎样将图片进行平移,缩放,旋转和扭曲.这里我们是利用QPixmap类来实现图片显示的. 一.利 ...

  2. linux shell 命令学习(4) cut - remove sections from each line of files

    之前写了split命令,split主要是按照行来进行文件的分割,而cut 是按照列来进行文件内容的选取 cut OPTION... [FILE]... 描述: 按列选取FILE的内容进行输出 -d : ...

  3. 实用Linux命令,不求最全但求实用-------磁盘使用情况du,df

    命令: df -h 输出实例: 文件系统             容量    已用  可用  已用% 挂载点 /dev/md0              9.7G  4.7G  4.6G  51% / ...

  4. Android 去掉title bar的3个方法

    1. Java代码实现 @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstance ...

  5. Data Flow ->> Merge

    Merge组件的作用和Union All很相似,就是把两个输入源的结果集合并成一个.但是不同之处在于: 1)Merge输入的结果集需要先经过排序(这点表示怀疑) 2)Merge对于输入的两个结果集的数 ...

  6. php 传址

    在php 中引用的意思是:不同的名字访问同一个变量内容. 变量的引用 PHP 的引用允许你用两个变量来指向同一个内容 例一: <?php $a="2010"; $b =&am ...

  7. Android之开发杂记(一)

    1.cygwin环境变量设置 可在Cygwin.bat 中设置 set NDK_ROOT=P:/android/android-ndk-r8e 或者在home\Administrator\.bash_ ...

  8. Maven+Spring+MVC结构中,jetty/tomcat是如何启动项目的[转]

    针对maven配置的Spring+MVC项目,我们用Maven自带的jetty和tomcat插件进行调试,这很方便.但是调试时,这些插件所启动的web服务器,是如何来将我们的工程作为一个web项目启动 ...

  9. Volley HTTP库系列教程(3)自定义RequestQueue和编写单例RequestQueue示例

    Setting Up a RequestQueue Previous  Next This lesson teaches you to Set Up a Network and Cache Use a ...

  10. 10.10 dos试验

    一. 实验目的 (1)认识DOS: (2)掌握命令解释程序的原理: (3)掌握简单的DOS调用方法: (4)掌握C语言编程初步. 二. 实验内容和要求 编写类似于DOS,UNIX的命令行解释程序 (1 ...