码迷,mamicode.com
首页 > 其他好文 > 详细

ActionBarUtil:快速添加标题

时间:2015-04-13 10:58:21      阅读:131      评论:0      收藏:0      [点我收藏+]

标签:actionbar   标题   

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



ActionBarUtil:快速添加标题

标签:actionbar   标题   

原文地址:http://blog.csdn.net/pengkv/article/details/45022103

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!