如何定义BaseActivity与设定TitleBar

来源:互联网 发布:linux gre over ipsec 编辑:程序博客网 时间:2024/06/05 09:29

BaseActivity

import android.app.Activity;import android.content.SharedPreferences;import android.os.Bundle;import android.text.TextUtils;import android.view.View;import android.view.View.OnClickListener;import android.view.Window;/** * @ClassName: BaseActivity * @Description: 基类Activity * @author YongChen.Yu * @date 2016年10月31日 * */public class BaseActivity extends Activity {    private BaseLayout baseLayout;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        requestWindowFeature(Window.FEATURE_NO_TITLE);    }    @Override    public void setContentView(int resId) {        baseLayout = new BaseLayout(this, resId);        setContentView(baseLayout);        setLeftOnclickListener(new OnClickListener() {            @Override            public void onClick(View v) {                finish();            }        });    }    /**     * @Title: easyFind     * @Description: findViewById简化版     * @param @param id     * @param @return 参数     * @return T 返回类型     * @throws     */    @SuppressWarnings("unchecked")    protected <T extends View> T easyFind(int id) {        return (T) findViewById(id);    }    /**     * @Title: setTitle     * @Description: 设置Title文本     * @param @param title 参数     * @return void 返回类型     * @throws     */    protected void setTitle(String title) {        if (!TextUtils.isEmpty(title)) {            baseLayout.setTitle(title);        }    }    /**     * @Title: showLeft     * @Description: 设置左侧显示状态     * @param @param visible 参数     * @return void 返回类型     * @throws     */    protected void showLeft(int visibility) {        baseLayout.showLeft(visibility);    }    /**     * @Title: setLeftOnclickListener     * @Description: 设置左侧点击事件     * @param @param listener 参数     * @return void 返回类型     * @throws     */    protected void setLeftOnclickListener(OnClickListener listener) {        baseLayout.setLeftOnclickListener(listener);    }    /**     * @Title: showRight     * @Description: 设置右侧显示状态     * @param @param visibility 参数     * @return void 返回类型     * @throws     */    protected void showRight(int visibility) {        baseLayout.showRight(visibility);    }    /**     * @Title: setRightOnclickListener     * @Description: 设置右侧点击事件     * @param @param listener 参数     * @return void 返回类型     * @throws     */    protected void setRightOnclickListener(OnClickListener listener) {        baseLayout.setRightOnclickListener(listener);    }    /**     * @Title: showHeadBar     * @Description: 设置headBar显示状态     * @param @param visibility 参数     * @return void 返回类型     * @throws     */    protected void showHeadBar(int visibility) {        baseLayout.showHeadBar(visibility);    }}

MainActivity

package com.example.base.activity;import android.os.Bundle;import android.view.View;import com.example.base.R;import com.example.base.common.BaseActivity;public class MainActivity extends BaseActivity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        setTitle("Test BaseActivity");// 设置Title文本        showLeft(View.VISIBLE);// 设置左侧显示状态        // 设置左侧点击事件        // setLeftOnclickListener(null);        showRight(View.VISIBLE);// 设置右侧显示状态        // 设置右侧点击事件        // setRightOnclickListener(null);        showHeadBar(View.VISIBLE);// 设置headBar显示状态    }}

点击下载源码

1 0