6. ActionBar详解

?ActionBar简介

? 隐藏和显示ActionBar

隐藏ActionBar      getActionBar().hide();

显示ActionBar      getActionBar().show();

? 添加和响应Action按钮

 1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 2     android:layout_width="match_parent"
 3     android:layout_height="match_parent"
 4     android:orientation="vertical" >
 5     <Button
 6         android:id="@+id/button_hide_show_actionbar"
 7         android:layout_width="match_parent"
 8         android:layout_height="wrap_content"
 9         android:onClick="onClick_HideShowActionBar"
10         android:text="隐藏ActionBar" />
11 </LinearLayout>
 1 package cn.eoe.first.actionbar;
 2
 3 import android.app.Activity;
 4 import android.os.Bundle;
 5 import android.view.Menu;
 6 import android.view.MenuInflater;
 7 import android.view.MenuItem;
 8 import android.view.View;
 9 import android.view.Window;
10 import android.widget.Button;
11 import android.widget.Toast;
12
13 public class FirstActionBarActivity extends Activity {
14     private Button hideShowActionBar;
15
16     @Override
17     protected void onCreate(Bundle savedInstanceState) {
18         super.onCreate(savedInstanceState);
19         getWindow().requestFeature(Window.FEATURE_ACTION_BAR);
20         setContentView(R.layout.activity_first_action_bar);
21         hideShowActionBar = (Button) findViewById(R.id.button_hide_show_actionbar);
22     }
23
24     public void onClick_HideShowActionBar(View view) {
25         if (getActionBar() == null)
26             return;
27         if (getActionBar().isShowing()) {
28             getActionBar().hide();
29             hideShowActionBar.setText("显示ActionBar");
30         } else {
31             getActionBar().show();
32             hideShowActionBar.setText("隐藏ActionBar");
33         }
34     }
35
36     @Override
37     public boolean onCreateOptionsMenu(Menu menu) {
38         MenuInflater inflater = getMenuInflater();
39         inflater.inflate(R.menu.activity_first_action_bar, menu);
40         // menu.getItem(2).setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER);
41         return true;
42     }
43
44     @Override
45     public boolean onOptionsItemSelected(MenuItem item) {
46         Toast.makeText(this, item.getTitle(), Toast.LENGTH_LONG).show();
47         return super.onOptionsItemSelected(item);
48     }
49
50 }
 1 <?xml version="1.0" encoding="utf-8"?>
 2 <menu xmlns:android="http://schemas.android.com/apk/res/android" >
 3
 4     <item
 5         android:id="@+id/menu_save"
 6         android:icon="@drawable/save"
 7         android:showAsAction="ifRoom|withText"
 8         android:title="保存"/>
 9     <item
10         android:id="@+id/menu_open"
11         android:icon="@drawable/open"
12         android:showAsAction="ifRoom"
13         android:title="打开"/>
14     <item
15         android:id="@+id/menu_search"
16         android:icon="@drawable/search"
17         android:showAsAction="always"
18         android:title="保存"/>
19     <item
20         android:id="@+id/menu1"
21         android:icon="@drawable/ic_launcher"
22         android:showAsAction="ifRoom"
23         android:title="菜单项1"/>
24     <item
25         android:id="@+id/menu2"
26         android:icon="@drawable/ic_launcher"
27         android:showAsAction="ifRoom"
28         android:title="菜单项2"/>
29
30 </menu>

? 可上下两分的Action

 1 package cn.eoe.split.actionbar;
 2
 3 import android.os.Bundle;
 4 import android.app.Activity;
 5 import android.view.Menu;
 6 import android.view.MenuInflater;
 7
 8 public class SplitActionBar extends Activity {
 9
10     @Override
11     protected void onCreate(Bundle savedInstanceState) {
12         super.onCreate(savedInstanceState);
13         setContentView(R.layout.activity_split_action_bar);
14     }
15
16     @Override
17     public boolean onCreateOptionsMenu(Menu menu) {
18         MenuInflater inflater = getMenuInflater();
19         inflater.inflate(R.menu.activity_split_action_bar, menu);
20         return true;
21     }
22 }
 1 <?xml version="1.0" encoding="utf-8"?>
 2 <menu xmlns:android="http://schemas.android.com/apk/res/android" >
 3
 4     <item
 5         android:id="@+id/menu_save"
 6         android:icon="@drawable/open"
 7         android:showAsAction="always|withText"/>
 8     <item
 9         android:id="@+id/menu_open"
10         android:icon="@drawable/open"
11         android:showAsAction="always"
12         android:title="打开"/>
13     <item
14         android:id="@+id/menu_search"
15         android:icon="@drawable/search"
16         android:showAsAction="always"
17         android:title="保存"/>
18     <item
19         android:id="@+id/menu1"
20         android:icon="@drawable/ic_launcher"
21         android:showAsAction="always"
22         android:title="菜单项1"/>
23     <item
24         android:id="@+id/menu2"
25         android:icon="@drawable/ic_launcher"
26         android:showAsAction="always"
27         android:title="菜单项2"/>
28
29 </menu>

? 收缩和展开Action View 

 1 import android.annotation.SuppressLint;
 2 import android.app.Activity;
 3 import android.os.Bundle;
 4 import android.view.Menu;
 5 import android.view.MenuItem;
 6 import android.view.MenuItem.OnActionExpandListener;
 7 import android.widget.Toast;
 8
 9 @SuppressLint("NewApi")
10 public class ActionViewActivity extends Activity implements
11         OnActionExpandListener {
12     // private Menu menu;
13
14     @Override
15     protected void onCreate(Bundle savedInstanceState) {
16         super.onCreate(savedInstanceState);
17         setContentView(R.layout.activity_action_view);
18     }
19
20     @Override
21     public boolean onCreateOptionsMenu(Menu menu) {
22         getMenuInflater().inflate(R.menu.activity_action_view, menu);
23         // this.menu = menu;
24         for (int i = 0; i < menu.size(); i++) {
25             menu.getItem(i).setOnActionExpandListener(this);
26         }
27         return true;
28     }
29
30     @Override
31     public boolean onMenuItemActionExpand(MenuItem item) {
32         Toast.makeText(this, "<" + item.getTitle() + ">已经展开", Toast.LENGTH_LONG)
33                 .show();
34
35         return true;
36     }
37
38     @Override
39     public boolean onMenuItemActionCollapse(MenuItem item) {
40         Toast.makeText(this, "<" + item.getTitle() + ">已经收缩", Toast.LENGTH_LONG)
41                 .show();
42         return true;
43     }
44
45 }

res/menu/activity_action_view.xml

 1 <menu xmlns:android="http://schemas.android.com/apk/res/android" >
 2
 3     <item
 4         android:id="@+id/menu_item_edit"
 6         android:actionViewClass="android.widget.EditText"
 8         android:showAsAction="always"
 9         android:title="编辑"/>
11     <item
12         android:id="@+id/menu_item_clock"
13         android:actionLayout="@layout/action_view_clock"
14         android:icon="@drawable/time"
15
16         android:showAsAction="always|collapseActionView"
17         android:title="时间"/>
18     <item
19         android:id="@+id/menu_item_search"
20         android:actionViewClass="android.widget.SearchView"
21         android:icon="@drawable/search"
23         android:showAsAction="always|collapseActionView"
24         android:title="搜素"/>
25
26 </menu>

6. ActionBar详解

时间: 2024-08-03 11:27:22

6. ActionBar详解的相关文章

Android ActionBar详解

关于ActionBar,相信大家并不陌生,但是真正能够熟练使用的也不是很多,这篇文章主要为大家详细介绍ActionBar的相关知识,ActionBar是在Android3.0中引入的概念,所以在2.x系统中使用ActionBar我们需要依赖ActionBarSherklock或者androi-support-v7库,ActionBarSherklock是anroid中非常有名的一个开源项目,android-support-v7是Google后来推出的一个库,有了v7库后AndroidBarShe

ActionBar详解

Action bar是一个标识应用程序和用户位置的窗口功能,并且给用户提供操作和导航模式.在大多数的情况下,当你需要突出展现用户行为或全局导航的activity中使用action bar,因为action bar能够使应用程序给用户提供一致的界面,并且系统能够很好根据不同的屏幕配置来适应操作栏的外观.你能够用ActionBar的对象的API来控制操作栏的行为和可见性,这些API被添加在Android3.0(API 级别 11)中. Action bar的主要目的是: 1.  提供一个用于识别应用

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

实现切换Tabs标签; Activity代码: public class ActionBarTabs extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.action_bar_tabs); } public void onAddTab(View v) { final 

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

在Android 3.0中除了我们重点讲解的Fragment外,Action Bar也是一个重要的内容,Action Bar主要是用于代替传统的标题栏,对于Android平板设备来说屏幕更大它的标题使用Action Bar来设计可以展示更多丰富的内容,方便操控. Action Bar主要功能包含: 1. 显示选项菜单 2. 提供标签页的切换方式的导航功能,可以切换多个fragment. 3. 提供下拉的导航条目. 4. 提供交互式活动视图代替选项条目 5. 使用程序的图标作为返回Home主屏或向

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

一.添加标签 Tabs   在ActionBar中实现标签页可以实现android.app.ActionBar.TabListener ,重写onTabSelected.onTabUnselected和onTabReselected方法来关联Fragment.代码如下: private class MyTabListener implements ActionBar.TabListener { private TabContentFragment mFragment; public TabLis

关于ActionBar 详解

我的评论是(太尼玛 精彩了,不好意思粗鲁了 ,谢谢) 转载:guolin 地址连接:http://blog.csdn.net/guolin_blog/article/details/18234477

详解Android ActionBar之二:ActionBar添加Tabs标签和下拉导航

本节主要讲解ActionBar如何添加Tabs标签和下拉导航. 一.添加标签 Tabs 在ActionBar中实现标签页可以实现android.app.ActionBar.TabListener ,重写onTabSelected.onTabUnselected和onTabReselected方法来关联Fragment.代码如下: Java代码 private class MyTabListener implements ActionBar.TabListener { private TabCon

【Android UI设计与开发】之详解ActionBar的使用

详解Android中的ActionBar的使用 请尊重他人的劳动成果,转载请注明出处:详解Android中的ActionBar的使用 http://blog.csdn.net/fengyuzhengfan/article/details/40216389 ActionBar是Android 3.0(API level 11)引入的一个新控件,它代表了应用程序标题栏,如果要开发兼容的程序,可以使用v7包下的ActionBar.我们在应用中看见的ActionBar一般是下图的样子,比如有道词典及微信

Android ActionBar 关于tab的应用 以及 TabListener的方法详解

actionBar的tab标签应用以及TabListener的方法详解 package com.example.actionBarTest.actionBarTab; import android.app.*; import android.os.Bundle; import com.example.actionBarTest.R; import java.util.ArrayList; import java.util.List; /** * Created by Heyiyong on 20