
Android ActionBar 使用示例演示

ActionBar是Android应用开发中一个重要的UI组件,它提供了一个区域,可以放置应用程序的导航、搜索和菜单等功能。在Android 3.0(API 级别 11)之前,ActionBar的使用与自定义性较低,而从Android 3.0开始,ActionBar的API得到了极大的改进,使得开发者可以更加灵活地自定义ActionBar,包括添加和自定义选项菜单、导航抽屉等。
### Android ActionBar基本概念
ActionBar在默认情况下会显示应用的图标、名称以及其它控制项(如搜索、菜单等)。它位于Activity窗口的上方,占据了宝贵的屏幕空间。ActionBar可以在所有Android设备上提供一致的用户体验,而且它还支持与下拉菜单、搜索框和导航抽屉等组件进行交互。
### Android ActionBar的特性
1. **导航**: ActionBar可以包含下拉列表和抽屉列表等导航元素。
2. **动态行为**: 可以动态地改变ActionBar的标题、图标、菜单项等。
3. **可折叠**: 在较小屏幕上可以折叠显示,只保留主要图标或标题。
4. **样式自定义**: 可以根据需要更改其外观和行为。
5. **兼容性**: 新旧版本Android系统都提供了对ActionBar的支持。
### Android ActionBar组件
ActionBar组件包含以下几个部分:
- **Logo**: 在ActionBar的左侧显示,通常是一个应用的图标。
- **标题**: 显示在Logo的右侧,用于展示应用或页面的名称。
- **导航抽屉**: 通常隐藏在屏幕左边缘,可以展开来显示导航选项。
- **菜单**: 包含溢出(溢出菜单显示的是超出屏幕宽度的菜单项)、下拉菜单等。
- **动作视图**: 允许用户与应用内容进行交互的组件,例如搜索框。
- **动作按钮**: 位于ActionBar的右侧,可以放置诸如搜索、添加等按钮。
### Android ActionBar使用示例
在Android Studio中创建一个名为ActionBarTest的新项目,可以按照以下步骤构建一个简单的ActionBarDemo。
1. **在布局文件中添加ActionBar**
在`activity_action_bar_test.xml`布局文件中,可以通过引入`<include>`标签来添加ActionBar。
```xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<include layout="@android:layout/action_bar" />
<!-- 应用内容区域 -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/helloActionBar"
android:layout_centerInParent="true"/>
</RelativeLayout>
```
2. **在Activity中自定义ActionBar**
在`ActionBarTest`类的`onCreate`方法中,可以使用`getSupportActionBar()`或`getActionBar()`方法来获取ActionBar实例,并进行自定义。
```java
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_action_bar_test);
ActionBar actionBar = getActionBar(); // 或者使用 getSupportActionBar() 方法获取ActionBar
if (actionBar != null) {
actionBar.setDisplayShowHomeEnabled(true); // 设置显示Logo
actionBar.setDisplayShowTitleEnabled(true); // 设置显示标题
actionBar.setTitle("ActionBar Demo"); // 设置标题文本
// 还可以设置自定义视图,添加菜单项等操作
}
}
```
3. **添加菜单项**
在`res/menu`目录下创建一个名为`menu_action_bar_test.xml`的菜单文件,定义需要显示在ActionBar上的菜单项。
```xml
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/menu_search"
android:icon="@android:drawable/ic_menu_search"
android:title="@string/menu_search"
android:showAsAction="ifRoom"/> <!-- 如果空间足够,则显示在ActionBar上 -->
<item
android:id="@+id/menu_settings"
android:icon="@android:drawable/ic_menu_preferences"
android:title="@string/menu_settings"
android:showAsAction="never"/> <!-- 总是显示在溢出菜单中 -->
</menu>
```
在`ActionBarTest` Activity中重写`onOptionsItemSelected`方法处理菜单项的点击事件。
```java
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.menu_search:
// 处理搜索项点击事件
return true;
case R.id.menu_settings:
// 处理设置项点击事件
return true;
default:
return super.onOptionsItemSelected(item);
}
}
```
### 总结
ActionBar是Android应用开发中非常核心的部分,它不仅提供了应用的导航功能,也是应用品牌化的集中体现。通过上述步骤,可以为应用创建一个基本的ActionBar,并添加自定义的菜单项。开发者可以根据应用的具体需求,进一步探索ActionBar的高级功能,如Tab标签页、自定义视图、动作视图和下拉列表等,以构建一个既美观又实用的用户界面。随着Android版本的更新,ActionBar可能会被新的UI组件如Toolbar所取代,但在许多旧设备和定制ROM上,ActionBar仍然是首选,因此掌握ActionBar的使用对于Android开发而言依然非常重要。
相关推荐



















盼汕
- 粉丝: 67
最新资源
- 仿美团PC端Web开发实践:Vue框架应用
- 探索Andriy1991.github.io的HTML技术实现
- OpenWrt x86_64自动编译固件详解
- Web代理技术:实现高效网络缓存的关键
- 公司年终JS+HTML抽奖程序:快速随机与自动模式
- Java技术分享与交流平台TechGig
- Python数据定价模块的深入分析与应用
- 本地文件搜索工具的开发与应用
- jpegsrc.v9b.tar.gz:JPEG库的新版本发布
- CodeSandbox上实现neogcamp-markNine标记九分法
- 深入探索GitHub的InnerSource开源模型
- 掌握机器学习:Jupyter Notebook中的决策树算法
- 深入解析HTML在github.io的应用与实践
- 深入解析hannahtobiason.github.io中的CSS技术应用
- rsschool-cv:创意履历表模板设计
- TSQL查询技术:mssql-queries存储库解析
- Kotlin开发应用adfmp1h21-pet界面截图教程
- 2021数据三项全能赛事解析与Jupyter Notebook应用
- Java语言环境下的tejun仓库创建详细步骤
- 4-mergaite:HTML文件压缩技术的最新进展
- Navicat12数据库管理工具压缩包发布
- 掌握JavaScript构建全栈应用的精髓
- C语言实现HFizzBuzz算法分析
- 探索DIDIC技术的核心优势与应用