actionbar使用通常有两种方法
设置menu下的xml文件并在java.onCreateOptionsMenu中调用。xml文件同optionmenu,但android:showAsAction=”always”才能将其变为actionbar
设置layout下的xml文件,并在java中实例化actionbar并设置其view
package com.example.myweixin;
import android.app.ActionBar;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
public class SearchActivity extends Activity
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_search);
// 获取ActionBar
ActionBar actionBar = getActionBar();
// 添加自定义的View
actionBar.setCustomView(R.layout.search_bar);
// 设置显示样式
actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM |//设置通常显示,取消此项将无法显示自定义view中的
ActionBar.DISPLAY_SHOW_HOME |//显示图标
ActionBar.DISPLAY_HOME_AS_UP);//显示返回上一activity的按钮
// 显示返回
//actionBar.setDisplayHomeAsUpEnabled(true);
}
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.search, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
switch (id)
{
case android.R.id.home:
{
// 关闭当前Activity
this.finish();
break;
}
default:
break;
}
return super.onOptionsItemSelected(item);
}
}