Android UI开发详解之ActionBar

2014-11-24 08:05:34 · 作者: · 浏览: 2

二、隐藏ActionBar

1、我们可以通过把主题设置为Theme.Holo.NoActionBar为一个Activity去除掉ActionBar。



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;
}

}


效果如图: