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. iOS开发--git

    http://blog.chinaunix.net/uid-26495963-id-3474178.html 相关知识 gnu interactive tools 一句话概括git: Git is a ...

  2. E时代主机,其实做一个小虚拟主机还是不错的

    http://www.idcen.com/ 做微信没有网上测试地址,找了一下发现以前用过的.记录一下.一个100m的虚拟主机需要三四十块钱,做微信,做一个小型网站还是够用的,就是mysql有点问题,不 ...

  3. ArcGIS Runtime SDK for Android 10.2.5新开发平台安装配置指南

    ArcGIS Runtime SDK for Android 10.2.5版本在年前发布,其中一个重大的变化是:新版本使用了新的开发环境,在10.2.5版本中Esri使用了官方提供的新的Android ...

  4. C#之你懂得的序列化/反序列化

    前言:写此文章一方面是为了巩固对序列化的认识,另一方面是因为本人最近在面试,面试中被问到“为什么要序列化”.虽然一直在使用,自己也反复的提到序列化,可至于说为什么要序列化,还真的没想过,所以本文就这样 ...

  5. 文件夹属性中只有"常规"解决办法

    Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\Directory\shellex\PropertySheetHandlers] [HK ...

  6. WPF如何用TreeView制作好友列表、播放列表

    WPF如何用TreeView制作好友列表.播放列表 前言 TreeView这个控件对于我来说是用得比较多的,以前做的小聊天软件(好友列表).音乐播放器(播放列表).类库展示器(树形类结构)等都用的是T ...

  7. node io.sockt 聊天应用

    index.html <!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset=& ...

  8. USACO Section 3.3: Riding the Fences

    典型的找欧拉路径的题.先贴下USACO上找欧拉路径的法子: Pick a starting node and recurse on that node. At each step: If the no ...

  9. PHP 时间函数 date 参数详解

    time();表示的是从1970-01-01到现在共走了多少秒,不便于看,但便于计算 要找出前一天的时间就是 time()-60*60*24; 要找出前一年的时间就是 time()*60*60*24* ...

  10. [CCF2015.09]题解

    201509-1 数列分段 水,记下前一个数,看看跟当前是否一样,不一样就ans+1 #include <algorithm> #include <iostream> #inc ...