如何定义BaseActivity与设定TitleBar

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 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显示状态

    }
}

点击下载源码

你可能感兴趣的:(工具)