The action bar provides several key
functions:
Provides a dedicated space for giving your app an identity and indicating the user's location in the app.
Provides a dedicated space for giving your app an identity and indicating the user's location in the app.
Makes important actions prominent and accessible in a predictable way (such as Search).
Supports consistent navigation and view switching within apps (with tabs or drop-down lists).
The ActionBar APIs were first added in Android 3.0 (API level 11) but they are also available in the Support Library for compatibility with Android 2.1 (API level 7) and above.
Develop Application using ActionBar APIs in Above Android 3.0(API level 11) is Very Easy.ActionBar APIs Provides On wards Android 3.0(API level 11).
But How to if you run the same application on versions < 3.0 you won’t. Okay, It shows lot's of error messages and Application is crashed.
Then what is soultion for this issue ?
So, how do we get the ActionBar on pre-Honeycomb?using ActionBarSherlock this library does is that if you’re using your app in a device with Android 2.x, it gives you an ActionBar that is a copy of the real ActionBar (it behaves the same way), but if you’re on Android 3.0 or later, you’ll get the standard ActionBar .
The best thing is that the methods that
you can use with this ActionBar are the same than with the standard one.
How to use ActionBarSherlock in Below Android 3.0 (API level 11) ?
Here are the steps to get the library into Eclipse:
First of all, go to Sherlock ActionBar library’s website(http://actionbarsherlock.com/) and Download the latest version (current is 4.0.0).
Then (unzip) open the file you downloaded, enter the root folder and you will see three folders: library, samples and website.
Extract the library folder into your work space folder. You can rename it if you want to something like “Sherlock-ActionBar-lib-4.0.0”.
Open Eclipse. Click File -> New -> Android Project.
Now select “Create project from existing source”, and select the folder that you copied into your work space folder.
You should also type a name such
as “Sherlock-ActionBar-lib-4.0.0” :). Now press Next.
Select Android 4.1 as target SDK and press Finish.
Select Android 4.1 as target SDK and press Finish.
Open the libs folder in the Project that we've created, right-click the “android-support-v4.jar” file and select Build Path -> Add to Build Path.
Now, we have the Android Library Project of the Sherlock ActionBar in our work space and in Eclipse.
Now create a a new Android Project, targeting at least Android 4.1 SDK. We will call ActionBarSherlockExample with MainActivity Class.
Add Library(Sherlock-ActionBar-lib) project to ActionBarSherlockExample.
Steps for Adding (Sherlock-ActionBar-lib) to Current Project:
Select Project->Right click Select Properties from menu->Now Properties Dialog visible now select Android on (Left side panel)->Now you can see Is Add button to Add Library project to current project just select (Sherlock-ActionBar-lib) and add library project to current project and click on apply button.
Now Open your Activity(MainActivity.java) which is created in current project.
public class MainActivity extends Activity {
}
Now Change extends Activity to SherlockActivity
See below code
Now Change extends Activity to SherlockActivity
See below code
public class MainActivity extends SherlockActivity {
}
Final Step ( Open the AndroidManifest of your ActionBarSherlockExample project and write inside the application tag just add below attribute)
android:theme="@style/Theme.Sherlock.Light.DarkActionBar"
Now you can run your current project in below Android 3.0 (API level 11) version the you can see ActionBar .
Android Project:
Android Activity(MainActivity.java)
package com.androidsurya.actionbarsherlock;
import com.actionbarsherlock.app.SherlockActivity;
import android.os.Bundle;
public class MainActivity extends SherlockActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
AndroidManifest file
<?xml version="1.0" encoding="utf-8"?>
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="7" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/Theme.Sherlock.Light.DarkActionBar" >
<activity
android:name="com.androidsurya.actionbarsherlock.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</activity>
</application>
</manifest>