ActionBarUtil用来给继承ActionBarActivity的Activity快速添加标题的工具类
工具类:
public class ActionBarUtil {
private static final String TAG = "ActionBarUtil";
/**
* 初始化ActionBar
*
* @param ctx Context
* @param title ActionBar标题资源ID
*/
public static void setup(Context ctx, int title) {
setup(ctx, ctx.getString(title), true);
}
/**
* 初始化ActionBar
*
* @param ctx Context
* @param title ActionBar标题
*/
public static void setup(Context ctx, String title) {
setup(ctx, title, true);
}
/**
* 初始化ActionBar
*
* @param ctx Context
* @param title ActionBar标题资源ID
* @param isHomeEnabled 是否启用返还键
*/
public static void setup(Context ctx, int title, boolean isHomeEnabled) {
if (title < -1) {
Log.e(TAG, "title资源有误");
} else if (title == 0) {
setup(ctx, "", isHomeEnabled);
} else {
setup(ctx, ctx.getString(title), isHomeEnabled);
}
}
/**
* 初始化ActionBar
*
* @param ctx Context
* @param title ActionBar标题
* @param isHomeEnabled 是否启用返还键
*/
public static void setup(Context ctx, String title, boolean isHomeEnabled) {
if (ctx instanceof ActionBarActivity) {
ActionBar actionBar = ((ActionBarActivity) ctx).getSupportActionBar();
if (TextUtils.isEmpty(title)) {
actionBar.setDisplayShowTitleEnabled(false);
} else {
actionBar.setTitle(title);
}
actionBar.setDisplayHomeAsUpEnabled(isHomeEnabled);
actionBar.setHomeButtonEnabled(isHomeEnabled);
} else {
Log.e(TAG, "初始化ActionBar出错,title为空或者当前Context不是ActionBarActivity的一个实例");
}
}
}
public class BaBaActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ActionBarUtil.setup(this, "个人首页");
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {//这个方法可以写在BaseActivity里面
if (item.getItemId() == android.R.id.home) {
finish();
}
return super.onOptionsItemSelected(item);
}
}