ActionBar chỉ hỗ trợ cho version api 11 trở lên, muốn tương thích được với các version cũ như 8 (android2.2) thì ta phải dùng ActionBarSherlock.
Download và nhúng thư viện actionbarsherlock
1. Truy cập địa chỉ http://actionbarsherlock.com/index.htmlvà download về và unzip ra được thư mục như hình
2. Chú ý trong thư mục vừa unzip có thư mục tên actionbarsherlock, đổi tên thành “ActionBarSherlockLib” cho dễ sử dụng.
Nhúng thư viện ActionBarSherlockLib vào Eclipse
3. Để import ActionBarSherlock Library vào Eclipse, chọn File > Import > Existing Android Code into Workspace.
4. Cửa sổ hiện ra chọn Browser và dẫn đến thư mục “ActionBarSherlockLib” như hình dưới bên dưới. check vào mục “Copy project into workspace”, rồi chọn OK.
5. Sau khi nhúng xong ta sẽ có 1 project “ActionBarSherlockLib”, chọn src và xem có bị lỗi không nếu lỗi như hình
6. Nếu lỗi thì click phải project chọn Project. Chọn tiếp Java Compiler và chỉnh mục “Compiler compliance level” thành 1.6 như hình
Nhúng thư viện ActionBarSherlock vào project
7. Tạo một project mới. Click phải project chọn Properties > Android >Add > chọn ActionBarSherlockLib > Apply > OK.
Mở file java chính, sửa class thành kế thừa từ SherlockActivity . Nếu OnCreateOptionMenu báo lỗi thì bỏ thư viện
importandroid.view.Menu;
8. 8.Nhúng các thư viện :
importcom.actionbarsherlock.app.SherlockActivity;
importcom.actionbarsherlock.view.Menu;
importcom.actionbarsherlock.view.MenuItem;
importcom.actionbarsherlock.view.MenuItem.OnMenuItemClickListener;
9. Bỏ hàm onCreateOptionMenu cũ đi
10. Thêm 3 hàm mới như sau:
// Capture first menu button click
OnMenuItemClickListener HelpButtonClickListener = newOnMenuItemClickListener() {
public boolean onMenuItemClick(MenuItem item) {
// Create a simple toast message
Toast.makeText(MainActivity.this, "Help Button", Toast.LENGTH_SHORT)
.show();
// Do something else
return false;
}
};
// Capture second menu button click
OnMenuItemClickListener LikeButtonClickListener = newOnMenuItemClickListener() {
public booleanonMenuItemClick(MenuItem item) {
// Create a simple toast message
Toast.makeText(MainActivity.this, "Like Button", Toast.LENGTH_SHORT)
.show();
// Do something else
return false;
}
};
// Capture third menu button click
OnMenuItemClickListener ExitButtonClickListener = newOnMenuItemClickListener() {
public booleanonMenuItemClick(MenuItem item) {
// Create a simple toast message
Toast.makeText(MainActivity.this, "Exit Button", Toast.LENGTH_SHORT)
.show();
// Do something else
return false;
}
};
@Override
public booleanonCreateOptionsMenu(Menu menu) {
// First Menu Button
menu.add("Help")
.setOnMenuItemClickListener(this.HelpButtonClickListener)
.setIcon(R.drawable.ic_launcher) // Set the menu icon
.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
// Second Menu Button
menu.add("Like")
.setOnMenuItemClickListener(this.LikeButtonClickListener)
.setIcon(R.drawable.ic_launcher) // Set the menu icon
.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
// Third Menu Button
menu.add("Exit")
.setOnMenuItemClickListener(this.ExitButtonClickListener)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
return super.onCreateOptionsMenu(menu);
}
11. Mở androidmanifest.xml lên trong phần application sửa theme lại thành Them.Sherlock và trong activity thêm thuộc tính android:uiOptions=”splitActionBarWhenNarrow” (để hiển actionbar tại cuối của trang) như bên dưới.
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/Theme.Sherlock">
<activity
android:name="com.example.testactionbarsherlock.MainActivity"
android:label="@string/app_name"
android:uiOptions="splitActionBarWhenNarrow">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
</application>
Download full source Click Here
No comments:
Post a Comment