Newer
Older
dxcgt / app / src / main / java / com / smartdot / cgt / view / TitleBar.java
wangxitong on 6 Apr 2021 3 KB first commit
package com.smartdot.cgt.view;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.util.AttributeSet;
import android.view.KeyEvent;
import android.view.View;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.TextView;

import com.smartdot.cgt.R;
import com.smartdot.cgt.activity.FrmHelp;
import com.smartdot.cgt.util.ApplicationMain;

public class TitleBar extends LinearLayout {

    private View titlebar_btn_back;

    private View titlebar_btn_help;
    
    private TextView titlebar_txtTitle;

    private Integer toHelpPanelId;

    private OnClickListener rightBtnListener;

    private OnClickListener linstener = new OnClickListener() {

        @Override
        public void onClick(View arg0) {
            if (arg0 == titlebar_btn_back) {
                Activity activity = (Activity) TitleBar.this.getContext();
                if (activity.onKeyDown(KeyEvent.KEYCODE_BACK, new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_BACK))) {
                    activity.finish();
                }
            } else if (arg0 == titlebar_btn_help) {
                Intent intent = new Intent(TitleBar.this.getContext(), FrmHelp.class);
                if (toHelpPanelId != null) {
                    intent.putExtra("toPanel", toHelpPanelId.intValue());
                }
                TitleBar.this.getContext().startActivity(intent);
            }
        }
    };

    public void setRightBtnListener(OnClickListener rightBtnListener) {
        this.rightBtnListener = rightBtnListener;
        titlebar_btn_help.setOnClickListener(this.rightBtnListener);
    }

    public OnClickListener getRightBtnListener() {
        return rightBtnListener;
    }

    public TitleBar(Context context) {
        super(context);
    }

    public TitleBar(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public void setBackBtnVisible(boolean isVisible) {
        if (titlebar_btn_back != null) {
            titlebar_btn_back.setVisibility(isVisible ? View.VISIBLE : View.GONE);
        }
    }

    public void setHelpBtnVisible(boolean isVisible) {
        if (titlebar_btn_help != null) {
            titlebar_btn_help.setVisibility(isVisible ? View.VISIBLE : View.GONE);
        }
    }

    public void setToHelpPanelId(int toHelpPanelId) {
        this.toHelpPanelId = toHelpPanelId;
    }

    public void setTitleText(CharSequence text) {
        if (titlebar_txtTitle != null) {
            titlebar_txtTitle.setText(text);
        }
    }

    public void setTitleText(int resid) {
        if (titlebar_txtTitle != null) {
            titlebar_txtTitle.setText(resid);
        }
    }

    public void setRigthText(CharSequence text) {
        if (titlebar_btn_help != null) {
            TextView rightBtn = (TextView) titlebar_btn_help;
            rightBtn.setText(text);
        }
    }

    public void setRigthText(int resid) {
        if (titlebar_btn_help != null) {
            TextView rightBtn = (TextView) titlebar_btn_help;
            rightBtn.setText(resid);
        }
        
    }
    
    @Override
    protected void onFinishInflate() {
        createView();
        super.onFinishInflate();
    }

    private void createView() {
        if (ApplicationMain.getInstance() != null) {
            View view = ApplicationMain.getInstance().inflateView(R.layout.titlebar, this);
            if (view != null) {
                titlebar_btn_back = view.findViewById(R.id.titlebar_btn_back);
                titlebar_btn_help = view.findViewById(R.id.titlebar_btn_help);
                titlebar_btn_help.setVisibility(GONE);
                titlebar_txtTitle = (TextView) view.findViewById(R.id.titlebar_txtTitle);
                titlebar_btn_back.setOnClickListener(linstener);
//                titlebar_btn_help.setOnClickListener(linstener);
            }
        }
    }
}