以前3.0以前的版本要使用ActionBar,必须使用国外大牛写的ActionBarSherlock这个开源项目。今年的Google/IO大会之后,Google官方在android-support-v7包中添加了ActionBar,开始让2.1以后的版本支持ActionBar,从此以后曾经最火的Android开源项目ActionBarSherlock可以退出历史舞台了。
要是用V7包中ActionBar也很简单,但有一个需要注意的地方。有些人可能刚开始仅仅是把android-support-v7-appcompat.jar导入项目中,但是在设置Activity的theme时会报错,提示找不到"@style/Theme.AppCompat"。这是由于我们要把v7和资源文件一起导入才行。
具体使用步骤(针对于Eclipse):
Create alibrary projectbased on the support library code:
- Make sure you have downloaded theAndroid Support Libraryusing theSDK Manager.
- Create a library project and ensure the required JAR files are included in the project's build path:
- SelectFile > Import.
- SelectExisting Android Code Into Workspaceand clickNext.
- Browse to the SDK installation directory and then to the Support Library folder. For example, if you are adding the
appcompatproject, browse to<sdk>/extras/android/support/v7/appcompat/. - ClickFinishto import the project. For the v7 appcompat project, you should now see a new project titledandroid-support-v7-appcompat.
- In the new library project, expand the
libs/folder, right-click each.jarfile and selectBuild Path > Add to Build Path. For example, when creating the the v7 appcompat project, add both theandroid-support-v4.jarandandroid-support-v7-appcompat.jarfiles to the build path. - Right-click the project and selectBuild Path > Configure Build Path.
- In theOrder and Exporttab, check the
.jarfiles you just added to the build path, so they are available to projects that depend on this library project. For example, theappcompatproject requires you to export both theandroid-support-v4.jarandandroid-support-v7-appcompat.jarfiles. - UncheckAndroid Dependencies.
- ClickOKto complete the changes.
You now have a library project for your selected Support Library that you can use with one or more application projects.
Add the library to your application project:
- In the Project Explorer, right-click your project and selectProperties.
- In the Library pane, clickAdd.
- Select the library project and clickOK. For example, the
appcompatproject should be listed asandroid-support-v7-appcompat. - In the properties window, clickOK.
Once your project is set up with the support library, here's how to add the action bar:
- Create your activity by extending
ActionBarActivity. - Use (or extend) one of the
Theme.AppCompatthemes for your activity. For example:<activity android:theme="@style/Theme.AppCompat.Light" ... >
Now your activity includes the action bar when running on Android 2.1 (API level 7) or higher.
On API level 11 or higher
The action bar is included in all activities that use theTheme.Holotheme (or one of its descendants), which is the default theme when either thetargetSdkVersionorminSdkVersionattribute is set to"11"or higher. If you don't want the action bar for an activity, set the activity theme toTheme.Holo.NoActionBar.
示例代码:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.folyd.actionbartest"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:theme="@style/Theme.Base.AppCompat.Light"
android:name="com.folyd.actionbartest.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
package com.folyd.actionbartest;
import android.os.Bundle;
import android.support.v7.app.ActionBar;
import android.support.v7.app.ActionBarActivity;
public class MainActivity extends ActionBarActivity {
private ActionBar actionBar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
actionBar = getSupportActionBar();
actionBar.setDisplayShowHomeEnabled(true);
}
}
效果截图:
本文深入解析了如何在Android项目中引入并使用Android Support Library V7中的ActionBar组件,包括创建库项目、配置Build Path、设置主题、添加示例代码以及展示实际效果。通过遵循提供的步骤,开发者能够轻松地在Android 2.1及更高版本的设备上实现ActionBar功能,提升应用的用户体验。
2756

被折叠的 条评论
为什么被折叠?



