6. ActionBar详解
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详解的更多相关文章
- Android ActionBar详解
Android ActionBar详解 分类: Android2014-04-30 15:23 1094人阅读 评论(0) 收藏 举报 androidActionBar 目录(?)[+] 第4 ...
- ActionBar详解
转: 一.ActionBar介绍 在Android 3.0中除了我们重点讲解的Fragment外,Action Bar也是一个非常重要的交互元素,Action Bar取代了传统的tittle bar和 ...
- Android ActionBar详解(三):ActionBar实现切换Tabs标签
实现切换Tabs标签; Activity代码: public class ActionBarTabs extends Activity { @Override protected void onCre ...
- Android ActionBar详解(二):ActionBar实现Tabs标签以及下拉导航
一.添加标签 Tabs 在ActionBar中实现标签页可以实现android.app.ActionBar.TabListener ,重写onTabSelected.onTabUnselected ...
- Android ActionBar详解(一):ActionBar概述及其创建
在Android 3.0中除了我们重点讲解的Fragment外,Action Bar也是一个重要的内容,Action Bar主要是用于代替传统的标题栏,对于Android平板设备来说屏幕更大它的标题使 ...
- Android ActionBar详解(三)--->ActionBar的Home导航功能
FirstActivity如下: package cc.testsimpleactionbar2; import android.os.Bundle; import android.app.Activ ...
- Android ActionBar详解(二)--->使用ActionBar显示选项菜单
MainActivity如下: package cc.testsimpleactionbar1; import android.os.Bundle; import android.app.Activi ...
- Android ActionBar详解(一)--->显示和隐藏ActionBar
MainActivity如下: package cc.testsimpleactionbar0; import android.os.Bundle; import android.view.View; ...
- actionbar详解(二)
经过前面两篇文章的学习,我想大家对ActionBar都已经有一个相对较为深刻的理解了.唯一欠缺的是,前面我们都只是学习了理论知识而已,虽然知识点已经掌握了,但是真正投入到项目实战当中时会不会掉链子还很 ...
随机推荐
- Java学习笔记之:Java 定时任务
一.介绍 在应用里经常都有用到在后台跑定时任务的需求.比如网络运营商会在每个月的一号对数据进行一次统计.在java中我们可以继承timertask类来实现定时任务. 二.笔记 /** * 定时任务 * ...
- JavaPersistenceWithHibernate第二版笔记-第五章-Mapping value types-007UserTypes的用法(@org.hibernate.annotations.Type、@org.hibernate.annotations.TypeDefs、CompositeUserType、DynamicParameterizedType、、、)
一.结构 二.Hibernate支持的UserTypes接口 UserType —You can transform values by interacting with the plain JD ...
- Spring MVC配置DispatcherServlet的url-pattern
在配置Spring MVC的核心过滤器DispatcherServlet的url-pattern时是有要求的. <servlet> <servlet-name>...</ ...
- linux中U盘umonut时出现“Device is busy”的解决方法
问题: #umount /dev/sda1 umount: /mnt/usb: device is busy 查找占用目录进程: #lsof |grep /mnt/usb bash 1971 root ...
- 使用grep查找文件中指定字符出现的次数
grep -o ‘好' 文件名.txt | wc -l -o 指示grep显示所有匹配的地方,并且每一个匹配单独一行输出.这样只要统计输出的行数就可以知道这个字符出现的次数了.
- 防止SQL注入和XSS攻击Filter
nbsp;今天系统使用IBM的安全漏洞扫描工具扫描出一堆漏洞,下面的filter主要是解决防止SQL注入和XSS攻击 一个是Filter负责将请求的request包装一下. 一个是request包装器 ...
- How to: Synchronize Files by Using Managed Code
The examples in this topic focus on the following Sync Framework types: FileSyncProvider FileSyncOpt ...
- Shadow mapping
http://www.cnblogs.com/cxrs/archive/2009/10/17/1585038.html 1.什么是Shadow Maping? Shadow Mapping是 ...
- C++ new、delete
C++中向系统申请堆内存的方法为使用new.new[]操作符,new申请单个对象的内存,new[]申请对象数组的内存.对应的delete.delete[]操作符将new.new[]操作符申请到的内存还 ...
- 好!maximum-product-of-word-lengths
以后看到个数比较少,性能比较高,就要第一时间想到位操作! 这道题目mock没有通过.超时了...... 原来题目解法的思路非常非常好! 开始我关注于降低n*n的复杂度,但是这道题目复杂度高在每个字符串 ...