歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Android UI開發詳解之ActionBar

Android UI開發詳解之ActionBar

日期:2017/3/1 10:00:04   编辑:Linux編程

在Android3.0之後,Google對UI導航設計上進行了一系列的改革,其中有一個非常好用的新功能就是引入的ActionBar,他用於取代3.0之前的標題欄,並提供更為豐富的導航效果。

一、添加ActionBar

1、不需要導入ActionBar,因為在android3.0或者以上版本中,ActionBar已經默認的包含在Activity中
2、在Android3.0的默認主題“holographic”中,已經創造了ActionBar
3、當android:minSdkVersion 或者 android:targetSdkVersion 屬性被設置成11或者更高時,應用會被認為是Android3.0版本(默認含有ActionBar)

二、隱藏ActionBar

1、我們可以通過把主題設置為Theme.Holo.NoActionBar為一個Activity去除掉ActionBar。

<activity android:theme="@android:style/Theme.Holo.NoActionBar">

2、我們也可以通過在代碼中調用show()或者hide()方法來相應的顯示或者隱藏ActionBar

3、在我們使用actionBar.hide();方法是系統默認會將ActionBar占用的空間分配給界面,此時顯示的界面將會重新繪制。

同樣調用actionBar.show();時也會重新繪制界面。如果我們一個程序需要頻繁的顯示或者隱藏ActionBar的話,這樣

就不會有良好的效果。Google提供給一個屬性可以讓ActionBar浮在界面上,當然你可以讓ActionBar的背景為透明,

這樣會有良好的體驗效果。

三、添加ActionBar的Item

1、通過程序動態布局

package com.xys.actionbar;

import android.os.Bundle;
import android.app.ActionBar;
import android.app.Activity;
import android.view.Menu;
import android.view.MenuItem;

public class MainActivity extends Activity {

ActionBar actionBar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
actionBar=getActionBar();
actionBar.show();
}


@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
super.onCreateOptionsMenu(menu);
//添加菜單項
MenuItem add=menu.add(0,0,0,"add");
MenuItem del=menu.add(0,0,0,"del");
MenuItem save=menu.add(0,0,0,"save");
//綁定到ActionBar
add.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
del.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
save.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
return true;
}

}

效果如圖:

Copyright © Linux教程網 All Rights Reserved