Android ActionBar

preview
需积分: 0 1 下载量 101 浏览量 更新于2015-11-26 收藏 32KB DOCX 举报
开发ActionBar的一般技巧 1、ActionBar的简介 ActionBar位于Activity的顶部,可用来显示activity的标题、Icon、Actions和一些用于交互的View。它也可被用于应用的导航。 ActionBar 是在Android 3.0(API 11)中加入到SK中的,想在低版本中使用ActionBar有两种选择:使用http://actionbarsherlock.com 或使用Support Library v7。 下面是一张使用ActionBar的界面截图: ### Android ActionBar知识点详解 #### 一、ActionBar简介与作用 **ActionBar** 在Android开发中扮演着重要的角色,它位于Activity的顶部,主要功能包括显示Activity的标题、图标、操作按钮等,并可以集成一些用于交互的视图。通过合理地利用ActionBar,开发者能够提升应用程序的用户体验和整体视觉效果。 - **位置**: 位于每个Activity的顶部。 - **显示内容**: - **标题**:显示当前Activity的名称或简短描述。 - **图标**:通常用于展示应用的Logo。 - **操作按钮**:提供用户进行特定操作的功能按钮。 - **其他视图**:如搜索框等,用于实现更复杂的交互需求。 #### 二、ActionBar的历史与发展 ActionBar是在Android 3.0 (API 11)中首次引入的组件,为了兼容更低版本的Android系统,开发者可以通过以下两种方式来使用: 1. **使用ActionBarSherlock库**: - **介绍**:ActionBarSherlock是一个开源项目,它可以为低版本的Android系统提供统一的ActionBar样式和行为。 - **优点**:无需修改现有代码,即可实现一致的外观和行为。 - **官网**: [http://actionbarsherlock.com](http://actionbarsherlock.com) 2. **使用Support Library v7**: - **介绍**:Google官方提供的支持库,可以实现对低版本Android系统的向后兼容。 - **优点**:与原生Android系统高度融合,更加稳定可靠。 - **使用方法**:在项目中引入support-v7-appcompat库。 #### 三、ActionBar的实现与使用 以示例工程 `A_actionBar_test_1` 为例,下面详细介绍如何在Activity中实现并使用ActionBar: 1. **定义Activity**: ```java public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { int id = item.getItemId(); if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } } ``` 2. **配置菜单资源文件** (`R.menu.main`): - 在res/menu目录下创建main.xml文件,定义ActionBar中的菜单项。 - 示例: ```xml <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/action_settings" android:orderInCategory="100" android:showAsAction="never" android:title="@string/action_settings" /> </menu> ``` 3. **设置Activity的标题和图标**: - 可以通过在AndroidManifest.xml文件中设置Activity标签的属性来实现。 - 示例: ```xml <activity android:name=".MainActivity" android:label="@string/app_name" android:theme="@style/AppTheme.ActionBarTheme"> </activity> ``` 4. **自定义ActionBar样式**: - 在values目录下的styles.xml文件中定义。 - 示例: ```xml <style name="AppTheme.ActionBarTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <!-- Customize your theme here. --> <item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="colorAccent">@color/colorAccent</item> </style> ``` #### 四、注意事项 - **SDK版本限制**:要使用ActionBar,最低SDK版本需为11(Android 3.0)。 - **兼容性问题**:对于低版本Android系统,需要使用上述提到的第三方库或支持库来实现兼容。 - **性能优化**:在使用ActionBar时,要注意避免过多的操作,以减少对性能的影响。 通过上述知识点的学习,开发者可以更好地理解和运用Android中的ActionBar,从而提高应用程序的可用性和用户体验。