[lottery] 07_顶部标题部分管理(二)——工具类

Android 4.0

顶部 标题部分管理(二)——工具类TopTitleManager

功能描述:
①管理对象的创建
②初始化各个标题容器及相关控件设置监听
③控制各个标题容器的显示和隐藏
④控制标题内容显示
功能实现:
          在MainActivity中调用TopTitleManager创建实例,并进行初始化。
核心代码:
package cn.zengfansheng.lottery.view.manager;
 
import android.app.Activity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageButton;
import android.widget.RelativeLayout;
import android.widget.TextView;
import cn.zengfansheng.lottery.R;
 
/**
* 上部标题管理类
* @author hacket
*/

public class TopTitleManager {
 
    /****************** 1、标题 ******************/
    private RelativeLayout topCommonTitle;
    private RelativeLayout topUnloginTitle;
    private RelativeLayout topLoginTitle;
 
    /****************** 2、普通标题组件 ******************/
    private ImageButton ibReturnBtn;
    private TextView tvTopTitle;
    private ImageButton ibHelpBtn;
 
    /****************** 3、未登陆标题组件 ******************/
    private ImageButton ibRegisterBtn;
    private ImageButton ibLoginBtn;
 
    /****************** 4、登陆完成后标题组件 ******************/
    private ImageButton ibSystemInfoBtn;
    private TextView tvUserInfo;
 
    // 1、单例
    private TopTitleManager(){}
    private static final TopTitleManager manager = new TopTitleManager();
    public static TopTitleManager getTopTitleManager(){
        return manager;
    }
 
    /**
     * 2、初始化组件
     *
     * @param activity
     */

    public void initComponent(Activity activity) {
 
        /****************** 1、标题 ******************/
        topCommonTitle = (RelativeLayout) activity.findViewById(R.id.rl_top_common_continer_zl);
        topUnloginTitle = (RelativeLayout) activity.findViewById(R.id.rl_top_unlogin_continer_zl);
        topLoginTitle = (RelativeLayout) activity.findViewById(R.id.rl_top_login_continer_zl);
 
        /****************** 2、普通标题组件 ******************/
        ibReturnBtn = (ImageButton) activity.findViewById(R.id.ib_top_return_zl);
        tvTopTitle = (TextView) activity.findViewById(R.id.tv_top_title_zl);
        ibHelpBtn = (ImageButton) activity.findViewById(R.id.ib_top_help_zl);
 
        /****************** 3、未登陆标题组件 ******************/
         ibRegisterBtn = (ImageButton) activity.findViewById(R.id.ib_top_register_zl);
         ibLoginBtn = (ImageButton) activity.findViewById(R.id.ib_top_login_zl);
 
        /****************** 4、登陆完成后标题组件 ******************/
         ibSystemInfoBtn = (ImageButton) activity.findViewById(R.id.ib_purchase_system_info_zl);
         tvUserInfo = (TextView) activity.findViewById(R.id.tv_top_user_info_zl);
    }
 
    /**
     * 3、设置按钮监听事件
     */

    public void setBtnListener() {
        /****************** 2、普通标题组件 ******************/
        ibReturnBtn.setOnClickListener(new OnClickListener() {
 
            @Override
            public void onClick(View v) {
                System.out.println("返回按钮~~~");
            }
        });
        ibHelpBtn.setOnClickListener(new OnClickListener() {
 
            @Override
            public void onClick(View v) {
                System.out.println("帮助按钮~~~");
            }
        });
 
        /****************** 3、未登陆标题组件 ******************/
        ibRegisterBtn.setOnClickListener(new OnClickListener() {
 
            @Override
            public void onClick(View v) {
                System.out.println("注册按钮~~~");
            }
        });
        ibLoginBtn.setOnClickListener(new OnClickListener() {
 
            @Override
            public void onClick(View v) {
                System.out.println("登录按钮~~~");
            }
        });
 
        /****************** 4、登陆完成后标题组件 ******************/
        ibSystemInfoBtn.setOnClickListener(new OnClickListener() {
 
            @Override
            public void onClick(View v) {
                System.out.println("系统信息按钮~~~");
            }
        });
    }
 
    /**
     * 4、隐藏所有的标题
     */

    public void hiddenAllTitle() {
        topCommonTitle.setVisibility(View.GONE);
        topUnloginTitle.setVisibility(View.GONE);
        topLoginTitle.setVisibility(View.GONE);
    }
 
    /**
     * 5、显示普通标题
     */

    public void showCommonTitle() {
        hiddenAllTitle();// 先隐藏所有的标题
        topCommonTitle.setVisibility(View.VISIBLE);
    }
    /**
     * 6、显示未登录的标题
     */

    public void showUnLoginTitle() {
        hiddenAllTitle();
        topUnloginTitle.setVisibility(View.VISIBLE);
    }
 
    /**
     * 7、显示已经登陆的标题
     * @param userInfo 要设置的登录后显示的文本
     */

    public void showLoginTitle(String userInfo) {
        hiddenAllTitle();
        topLoginTitle.setVisibility(View.VISIBLE);
 
        // 设置标题内容
        tvUserInfo.setText(userInfo);
    }
 
    /**
     * 8、设置普通标题的中标题的信息
     * @param resId 资源id
     */

    public void setTopCommonTitle(int resId){
        tvTopTitle.setText(resId);
    }
 
    /**
     * 9、设置普通标题的中标题的信息
     * @param tvTitle 设置的标题
     */

    public void setTopCommonTitle(String tvTitle){
        tvTopTitle.setText(tvTitle);
    }
}