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); } }
原文地址:http://blog.csdn.net/pengkv/article/details/45022103