- 浏览: 258944 次
- 性别:
- 来自: 深圳
最新评论
-
whizkid:
[img] private void enableNdefEx ...
android通过NFC读写数据 -
zhangminglife:
您好!不错,最近正在弄这个东西,能否把demo发给我一份谢谢了 ...
SSL双向认证java实现(转) -
water卡:
android如何调用显示和隐藏系统默认的输入法 -
water卡:
android如何调用显示和隐藏系统默认的输入法 -
sjp524617477:
good
生成android使用的BKS证书
1. ActionBar(活动栏)替代了显示在屏幕顶端的标题栏。主要负责显示菜单,widget,导航等功能,主要包括:
显示选项菜单中的菜单项到活动栏;
添加可交互的视图到活动栏作为活动视图;
使用应用的图标作为活动项,代表返回home或者向上等重要操作;
提供标签导航,方便不同的Fragment之间切换;
提供下拉导航功能。
2. Android3.0针对ActionBar新增的类如下:
ActionBar
ActionBar.LayoutParams
android:layout_gravity:设置控件本身相对于父控件的显示位置。(而android:gravity:设置的是控件自身上面的内容位置)
ActionBar.OnMenuVisibilityListener
onMenuVisibilityChanged(boolean isVisible)
ActionBar.OnNavigationListener
onNavigationItemSelected(int itemPosition, long itemId)
ActionBar.Tab
ActionBar.TabListener
onTabReselected(ActionBar.Tab tab, FragmentTransaction ft)
onTabSelected(ActionBar.Tab tab, FragmentTransaction ft)
onTabUnselected(ActionBar.Tab tab, FragmentTransaction ft)
导航的三种显示模式:
NAVIGATION_MODE_STANDARD
NAVIGATION_MODE_LIST
NAVIGATION_MODE_TABS
3. 具体功能的实现
1. 隐藏、显示、删除活动栏
ActionBar actionBar = getActionBar();
actionBar.hide();
//actionBar.show(); // 显示活动栏
删除活动栏
<activity android:theme="@android:style/Theme.Holo.NoActionBar">
2. 添加活动项到活动栏
1.利用menu目录下的布局文件,对于你想添加的每个活动项,你必须添加一个菜单项到选项菜单,并设置菜单项作为活动项;例如下图的xml布局:
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/menu_save"
android:icon="@drawable/ic_menu_save"
android:title="@string/menu_save"
android:showAsAction="ifRoom|withText" />
// 有四种属性,ifRoom,never,withText,always
<item android:id="@+id/menu_delete"
android:icon="@drawable/ic_menu_delete"
android:title="@string/menu_delete"
android:showAsAction="ifRoom|withText" />
<item android:id="@+id/menu_edit"
android:icon="@drawable/ic_menu_edit"
android:title="@string/menu_edit"
android:showAsAction="ifRoom|withText" />
</menu>
2.直接在Activity里的onCreateOptionsMenu里实现,例如:
public boolean onCreateOptionsMenu(Menu menu) {
menu.add("Normal item");
MenuItem actionItem = menu.add("Save");
actionItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
actionItem.setIcon(android.R.drawable.ic_menu_save);
return true;
}
响应事件的调用和Options Menu的一样,都是
public boolean onOptionsItemSelected(MenuItem item)
3. 添加可交互的视图到活动栏作为活动视图
你可以把widget作为活动项添加到活动栏(如下图),有两种方式实现;
第一种是通过布局文件;
<item android:id="@+id/menu_search"
android:title="Search"
android:icon="@drawable/ic_menu_search"
android:showAsAction="ifRoom"
android:actionLayout="@layout/searchview" />
第二种是通过指定活动视图的全修饰名,即包名和类名;
<item android:id="@+id/action_search"
android:title="@string/action_bar_search"
android:icon="@android:drawable/ic_menu_search"
android:showAsAction="always"
android:actionViewClass="android.widget.SearchView" />
4. 使用应用的图标作为活动项,代表返回home或者向上等操作
由于活动栏默认情况下,左边是应用的图标,接着是应用标题,我们可以利用它来处理一些经常且关键的操作,默认情况下应用的图标设置ID为android.R.id.home.
如下面的例子,是返回到home.
public boolean onOptionsItemSelected(MenuItem item) {
switch(item.getItemId()){
case android.R.id.home:
Intent intent = new Intent(this,ActionBarDemo.class);
startActivity(intent);
break;
}
return super.onOptionsItemSelected(item);
}
5. 提供标签导航,方便不同的Fragment之间切换
活动栏可以显示标签,允许用户在不同的fragment之间切换。
1. 确定布局中包含有tab关联的fragment的视图;
2. 创建一个对ActionBar.TabListener的实现,并实现onTabSelected(Tab tab, FragmentTransaction ft), onTabUnselected(), and onTabReselected()方法;
3. 在setContentView方法之后得到ActionBar,并设置导航模式为NAVIGATION_MODE_TABS.
final ActionBar actionBar = getActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
4. 创建每一个tab为ActionBar,如下
1. Create a new ActionBar.Tab by calling newTab() on the ActionBar.
2. Add title text and/or an icon for the tab by calling setText() and/or setIcon().
3. Declare the ActionBar.TabListener to use for the tab by passing an instance of your implementation to setTabListener().
5. Add each ActionBar.Tab to the Action Bar by calling addTab() on the ActionBar and passing the ActionBar.Tab.
Fragment artistsFragment = new ArtistsFragment();
actionBar.addTab(actionBar.newTab().setText(R.string.tab_artists).setTabListener(new TabListener(artistsFragment)));
6. 提供下拉导航功能
1. 利用下拉选择项和布局,构建SpinnerAdapter。
SpinnerAdapter mSpinnerAdapter = ArrayAdapter.createFromResource(this, R.array.action_list, android.R.layout.simple_spinner_dropdown_item);
2. 实现ActionBar.OnNavigationListener,来记录用户选择list中项目的行为。
public boolean onNavigationItemSelected(int position, long itemId)
3. 设置导航模式为ActionBar.NAVIGATION_MODE_LIST
ActionBar actionBar = getActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
4. 设置回调函数setListNavigationCallbacks()
actionBar.setListNavigationCallbacks(mSpinnerAdapter, mNavigationCallback);
7. 定制活动栏
1. setBackgroundDrawable (Drawable d),the drawable should be Nine-patch image, a shape, or a solid color, so the system can resize the drawable based on the size of the Action Bar (you should not use a fixed-size bitmap image).
2. setDisplayUseLogoEnabled (boolean useLogo),由于应用的logo含有更多的信息,是否用应用的logo替换应用的图标
3. The Action Bar has two standard themes, "dark" and "light". The dark theme is applied with the default holographic theme, as specified by the Theme.Holo theme.
4. android:actionBarTabStyle( Style for tabs in the Action Bar)
5. android:actionBarTabBarStyle(Style for the bar that appears below tabs in the Action Bar)
6. android:actionBarTabTextStyle(Style for the text in the tabs)
7. android:actionDropDownStyle(Style for the drop-down list used for the overflow menu and drop-down navigation)
8. android:actionButtonStyle(Style for the background image used for buttons in the Action Bar)
4. 总结:
1. 在屏幕或应用上,关键,操作频繁的动作,可以放到活动栏;
2. 帮助传达动作或位置信息的图标;
3. 用logo或者暗示性的图标作为home或者up等操作;
显示选项菜单中的菜单项到活动栏;
添加可交互的视图到活动栏作为活动视图;
使用应用的图标作为活动项,代表返回home或者向上等重要操作;
提供标签导航,方便不同的Fragment之间切换;
提供下拉导航功能。
2. Android3.0针对ActionBar新增的类如下:
ActionBar
ActionBar.LayoutParams
android:layout_gravity:设置控件本身相对于父控件的显示位置。(而android:gravity:设置的是控件自身上面的内容位置)
ActionBar.OnMenuVisibilityListener
onMenuVisibilityChanged(boolean isVisible)
ActionBar.OnNavigationListener
onNavigationItemSelected(int itemPosition, long itemId)
ActionBar.Tab
ActionBar.TabListener
onTabReselected(ActionBar.Tab tab, FragmentTransaction ft)
onTabSelected(ActionBar.Tab tab, FragmentTransaction ft)
onTabUnselected(ActionBar.Tab tab, FragmentTransaction ft)
导航的三种显示模式:
NAVIGATION_MODE_STANDARD
NAVIGATION_MODE_LIST
NAVIGATION_MODE_TABS
3. 具体功能的实现
1. 隐藏、显示、删除活动栏
ActionBar actionBar = getActionBar();
actionBar.hide();
//actionBar.show(); // 显示活动栏
删除活动栏
<activity android:theme="@android:style/Theme.Holo.NoActionBar">
2. 添加活动项到活动栏
1.利用menu目录下的布局文件,对于你想添加的每个活动项,你必须添加一个菜单项到选项菜单,并设置菜单项作为活动项;例如下图的xml布局:
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/menu_save"
android:icon="@drawable/ic_menu_save"
android:title="@string/menu_save"
android:showAsAction="ifRoom|withText" />
// 有四种属性,ifRoom,never,withText,always
<item android:id="@+id/menu_delete"
android:icon="@drawable/ic_menu_delete"
android:title="@string/menu_delete"
android:showAsAction="ifRoom|withText" />
<item android:id="@+id/menu_edit"
android:icon="@drawable/ic_menu_edit"
android:title="@string/menu_edit"
android:showAsAction="ifRoom|withText" />
</menu>
2.直接在Activity里的onCreateOptionsMenu里实现,例如:
public boolean onCreateOptionsMenu(Menu menu) {
menu.add("Normal item");
MenuItem actionItem = menu.add("Save");
actionItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
actionItem.setIcon(android.R.drawable.ic_menu_save);
return true;
}
响应事件的调用和Options Menu的一样,都是
public boolean onOptionsItemSelected(MenuItem item)
3. 添加可交互的视图到活动栏作为活动视图
你可以把widget作为活动项添加到活动栏(如下图),有两种方式实现;
第一种是通过布局文件;
<item android:id="@+id/menu_search"
android:title="Search"
android:icon="@drawable/ic_menu_search"
android:showAsAction="ifRoom"
android:actionLayout="@layout/searchview" />
第二种是通过指定活动视图的全修饰名,即包名和类名;
<item android:id="@+id/action_search"
android:title="@string/action_bar_search"
android:icon="@android:drawable/ic_menu_search"
android:showAsAction="always"
android:actionViewClass="android.widget.SearchView" />
4. 使用应用的图标作为活动项,代表返回home或者向上等操作
由于活动栏默认情况下,左边是应用的图标,接着是应用标题,我们可以利用它来处理一些经常且关键的操作,默认情况下应用的图标设置ID为android.R.id.home.
如下面的例子,是返回到home.
public boolean onOptionsItemSelected(MenuItem item) {
switch(item.getItemId()){
case android.R.id.home:
Intent intent = new Intent(this,ActionBarDemo.class);
startActivity(intent);
break;
}
return super.onOptionsItemSelected(item);
}
5. 提供标签导航,方便不同的Fragment之间切换
活动栏可以显示标签,允许用户在不同的fragment之间切换。
1. 确定布局中包含有tab关联的fragment的视图;
2. 创建一个对ActionBar.TabListener的实现,并实现onTabSelected(Tab tab, FragmentTransaction ft), onTabUnselected(), and onTabReselected()方法;
3. 在setContentView方法之后得到ActionBar,并设置导航模式为NAVIGATION_MODE_TABS.
final ActionBar actionBar = getActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
4. 创建每一个tab为ActionBar,如下
1. Create a new ActionBar.Tab by calling newTab() on the ActionBar.
2. Add title text and/or an icon for the tab by calling setText() and/or setIcon().
3. Declare the ActionBar.TabListener to use for the tab by passing an instance of your implementation to setTabListener().
5. Add each ActionBar.Tab to the Action Bar by calling addTab() on the ActionBar and passing the ActionBar.Tab.
Fragment artistsFragment = new ArtistsFragment();
actionBar.addTab(actionBar.newTab().setText(R.string.tab_artists).setTabListener(new TabListener(artistsFragment)));
6. 提供下拉导航功能
1. 利用下拉选择项和布局,构建SpinnerAdapter。
SpinnerAdapter mSpinnerAdapter = ArrayAdapter.createFromResource(this, R.array.action_list, android.R.layout.simple_spinner_dropdown_item);
2. 实现ActionBar.OnNavigationListener,来记录用户选择list中项目的行为。
public boolean onNavigationItemSelected(int position, long itemId)
3. 设置导航模式为ActionBar.NAVIGATION_MODE_LIST
ActionBar actionBar = getActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
4. 设置回调函数setListNavigationCallbacks()
actionBar.setListNavigationCallbacks(mSpinnerAdapter, mNavigationCallback);
7. 定制活动栏
1. setBackgroundDrawable (Drawable d),the drawable should be Nine-patch image, a shape, or a solid color, so the system can resize the drawable based on the size of the Action Bar (you should not use a fixed-size bitmap image).
2. setDisplayUseLogoEnabled (boolean useLogo),由于应用的logo含有更多的信息,是否用应用的logo替换应用的图标
3. The Action Bar has two standard themes, "dark" and "light". The dark theme is applied with the default holographic theme, as specified by the Theme.Holo theme.
4. android:actionBarTabStyle( Style for tabs in the Action Bar)
5. android:actionBarTabBarStyle(Style for the bar that appears below tabs in the Action Bar)
6. android:actionBarTabTextStyle(Style for the text in the tabs)
7. android:actionDropDownStyle(Style for the drop-down list used for the overflow menu and drop-down navigation)
8. android:actionButtonStyle(Style for the background image used for buttons in the Action Bar)
4. 总结:
1. 在屏幕或应用上,关键,操作频繁的动作,可以放到活动栏;
2. 帮助传达动作或位置信息的图标;
3. 用logo或者暗示性的图标作为home或者up等操作;
发表评论
-
Android APK 签名比对
2014-04-10 14:11 668发布过Android应用的朋友 ... -
Android小知识点
2014-04-10 09:45 7131、 最近翻看以前的项目时候,想更改下布局文件,谁知道就改了 ... -
Android 获取基站信息
2013-10-18 10:39 1060Android 基站分CdmaCellLocation和Gsm ... -
Android 打开PDF,PPT,WORD,EXCEL,CHM,HTML,TEXT,AUDIO,VIDEO 格式文件代码
2013-03-15 16:42 1805import android.app.Activity; im ... -
Android平板上开发App的准则
2013-03-14 11:38 11111、保证符合App的通用开发准则 在谈Android平板A ... -
android程序发布时的常用工具
2012-07-12 14:38 10591.为应用程序设定版本,在应用程序清单文件中设置。 ... -
java CA证书相关操作,Android,java
2012-06-11 16:16 3474一:需要包含的包 import java.securi ... -
Android PhoneGap简析
2012-05-22 10:52 3759前言 上周研究了一下Pho ... -
android播放多媒体的两种方式
2012-05-19 21:42 1038转载,原文地址:http://blog.csdn.net/xi ... -
android通过NFC读写数据
2012-05-17 15:56 4142/* * Writes an NdefMessage to a ... -
NFC相关研究
2012-05-15 14:07 1167NFC概述 NFC是短距离的无线通信,通常距 ... -
Android 面试题
2012-05-15 14:05 993Android 面试题 经典 1、 Android dvm的进 ... -
生成android使用的BKS证书
2012-05-10 12:21 2899生成android使用的BKS证书 android 系统中 ... -
windows+eclipse+cygwin+cdt+ndk
2012-03-07 10:34 1012一:什么是NDK? NDK 提 ... -
在android2.1如何实现对ssl的无证书访问?(转)
2012-03-01 17:25 2631在网上看了,httpchlent的 ... -
Android系统目录结构详解(转)
2012-03-01 10:34 1139Android系统基于linux内核、JAVA应用,算是一 ... -
Android开发规范(转)
2012-03-01 10:20 828Android开发规范 一、Andr ... -
如何让Android程序支持安装到SD卡(APP2SD)
2012-02-29 15:19 1006Android系统在2.1版本之前,应用程序是只能安装到机身内 ... -
生成android的bks证书
2011-07-14 15:40 3330生成android的bks证书 pushd %CD% cd / ... -
系统文件夹功能详谈
2011-07-13 17:46 958【文件夹功能简介】 \system\app 这个里面主要存放 ...
相关推荐
尽管ActionBar在Android 3.0及以上版本中默认存在,但如果你希望在特定活动中移除ActionBar,可以通过将该活动的主题设置为`Theme.Holo.NoActionBar`来实现。 #### 移除ActionBar 若想通过编程方式显示或隐藏...
1. **ActionBar基本概念**:ActionBar是Android 3.0(API级别11)引入的一个特性,主要用于展示应用的标识、标题、菜单项以及一些操作。它是Android设计指南中推荐的UI元素,可以提高应用的一致性和可发现性。 2. *...
ActionBar 是 Android 4.0 (API 级别 14) 引入的一个新特性,它替代了传统的标题栏 (title bar),并提供了一个更丰富、更灵活的界面控件,用于整合应用的基本导航和辅助功能。ActionBar 出现在 Activity 的顶部,...
- `ActionBar`是Android 3.0(API级别11)引入的一个组件,用于提供应用程序的导航和操作。它通常包含应用图标、标题、菜单项等元素。 - 在API级别21之后,`Toolbar`组件成为`ActionBar`的替代品,因为它具有更好...
在 Android 4.0 版本中引入了一个新的组件叫做 ActionBar,它替代了早期 Android 版本中常见的传统标题栏(title bar)。ActionBar 的位置位于 Activity 的顶部,通常包含了应用的 logo 和 Activity 的标题。此外,...
首先,ActionBar是Android 3.0(API级别11)引入的一个特性,为应用提供了一种统一的界面风格,它通常包含应用的logo、标题、菜单项以及可以切换的选项。在早期的Android版本中,开发者需要借助第三方库如...
在`Android Studio`中使用`ActionBar`,首先你需要确保你的项目支持API级别11及以上,因为`ActionBar`是从Android 3.0(API级别11)引入的。以下是使用`ActionBar`的基本步骤: 1. **配置build.gradle**:在你的app...
它是Android 3.0(API Level 11)引入的一个特性,用于提供一个统一的、可定制的顶部导航区域。它通常包含应用的logo、标题、菜单项以及一些可操作的控件,如抽屉滑动按钮、搜索框等。在Android 4.0(API Level 14)...
ActionBar是Android 3.0(API级别11)引入的一个特性,目的是为了提供更统一、一致的用户体验。它不仅提供了应用的品牌识别,还允许用户访问主要的操作和导航选项。在早期版本的Android中,开发者通常需要自定义布局...
**全面解析Android中的ActionBar特性** 在Android应用开发中,ActionBar是一个至关重要的组件,它提供了应用程序的导航、操作和品牌标识。这个组件自Android 3.0(API级别11)开始引入,后来在Android Support ...
ActionBar是Android 3.0(API Level 11)引入的一个特性,旨在提升应用的用户体验,提供一个统一的导航和操作界面。它通常包含应用的logo、标题、菜单项和可扩展的操作空间。在Android 4.0(API Level 14)之后,...
在Android开发中,`ActionBar`是一个非常关键的组件,它在Android 3.0及以上版本中扮演着重要的角色。Action Bar取代了传统的标题栏和菜单,提供了更为丰富的用户体验和交互方式。以下是关于`ActionBar`的详细说明:...
ActionBar是Android 3.0(API级别11)引入的一个特性,后来在Android Support Library中被支持到更低的API级别,以便在旧版本的Android系统上使用。它的主要功能包括: 1. 应用程序标识:显示应用的图标。 2. 活动...
在Android应用开发中,`ActionBar`和`Fragment`是两个重要的组件,它们分别提供了丰富的界面交互和模块化设计。本文将深入探讨如何在Android项目中将`ActionBar`与`Fragment`结合起来,创建一个功能完善的用户界面。...
ActionBar是Android 3.0(API级别11)引入的一个特性,主要用于展示应用的标识、标题、导航模式以及一些常用的操作按钮。它是Android设计指南中的一部分,旨在提供一致且用户友好的界面体验。 2. **添加ActionBar*...
ActionBar是Android 3.0(API级别11)引入的一个功能强大的界面元素,用于提供应用程序导航和操作。它通常显示在屏幕的顶部,包含应用的标识、菜单选项、搜索框和其他交互控件。 **ActionBar的主要功能和特点:** ...
Android的ActionBar是Android 3.0(API级别11)引入的一个重要组件,它是应用程序界面中的一个重要部分,通常位于屏幕顶部,提供了多种功能来增强用户体验。在Android应用开发中,ActionBar可以帮助开发者实现以下...
首先,Action Bar在Android 3.0(API级别11)被引入,旨在提高用户体验和应用一致性。在早期版本的Android中,开发者需要借助第三方库如ActionBarSherlock来实现类似的功能。现在,由于Android Support Library和...
它是Android 3.0(Honeycomb)版本引入的一个特性,旨在提升平板电脑应用的用户体验。后来,随着Android 4.0(Ice Cream Sandwich)的发布,ActionBar也被引入到手机平台。这个组件主要包含以下几个部分: 1. 应用...