/** 
 | 
 * 
 | 
 */ 
 | 
package com.dayu.baselibrary.view; 
 | 
  
 | 
import android.content.Context; 
 | 
import android.content.res.TypedArray; 
 | 
import android.util.AttributeSet; 
 | 
import android.util.Log; 
 | 
import android.view.View; 
 | 
import android.widget.ImageButton; 
 | 
import android.widget.ImageView; 
 | 
import android.widget.LinearLayout; 
 | 
import android.widget.TextView; 
 | 
  
 | 
import com.dayu.baselibrary.R; 
 | 
  
 | 
  
 | 
/*** 
 | 
 * 标题视图 
 | 
 * 
 | 
 * @author shisl 
 | 
 * @time 2015-4-29 
 | 
 */ 
 | 
public class TitleBar extends LinearLayout { 
 | 
  
 | 
    private static final String TAG = "CNavigationBar"; 
 | 
    public static final int LEFT = 0; 
 | 
    public static final int CENTER = 1; 
 | 
    public static final int RIGHT = 2; 
 | 
    public static final int IMAGE = 3; 
 | 
    public static final int TEXT = 4; 
 | 
    public static final int ClickType_LEFT_TEXT = 1; 
 | 
    public static final int ClickType_LEFT_IMAGE = 2; 
 | 
    public static final int ClickType_CENTER_TEXT = 3; 
 | 
    public static final int ClickType_CENTER_IMAGE = 4; 
 | 
    public static final int ClickType_RIGHT_TEXT = 5; 
 | 
    public static final int ClickType_RIGHT_IMAGE = 6; 
 | 
  
 | 
    private TextView tvLeft; 
 | 
    private ImageView ivLeft; 
 | 
    private LinearLayout llLeft; 
 | 
  
 | 
    private ImageButton ibCenter; 
 | 
    private TextView btnCenter; 
 | 
  
 | 
    private TextView tvRight; 
 | 
    private ImageView ivRight; 
 | 
    private LinearLayout llRight; 
 | 
  
 | 
  
 | 
    public TitleBar(Context context, AttributeSet attrs, int defStyle) { 
 | 
        super(context, attrs); 
 | 
        initView(context); 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 初始化我们自定义的组合控件 
 | 
     */ 
 | 
    private void initView(Context context) { 
 | 
        // 转化布局文件————>View对象,这个view对象直接挂载在自己(组合控件)身上 
 | 
        View.inflate(context, R.layout.custom_titlebar, this); // this代表挂载到自己身上 
 | 
        tvLeft = (TextView) this.findViewById(R.id.tv_titlebar_left); 
 | 
        btnCenter = (TextView) this.findViewById(R.id.btn_titlebar_center); 
 | 
        tvRight = (TextView) this.findViewById(R.id.tv_titlebar_right); 
 | 
        ivLeft = (ImageView) this.findViewById(R.id.iv_titlebar_left); 
 | 
        ibCenter = (ImageButton) this.findViewById(R.id.ib_titlebar_center); 
 | 
        ivRight = (ImageView) this.findViewById(R.id.iv_titlebar_right); 
 | 
        llLeft = (LinearLayout) this.findViewById(R.id.ll_left); 
 | 
        llRight = (LinearLayout) this.findViewById(R.id.ll_right); 
 | 
    } 
 | 
  
 | 
    public TitleBar(Context context, AttributeSet attrs) { 
 | 
        super(context, attrs); 
 | 
        initView(context); 
 | 
        try { 
 | 
            /** 
 | 
             * 跟values/attrs.xml里面定义的属性绑定 
 | 
             */ 
 | 
            // 从attrs.xml获取自定义的控件属性 
 | 
            TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.TitleBar); 
 | 
            // //从attrs.xml获取自定义的value属性(控件属性名称+“_” + 自定义的属性名称) 
 | 
            String leftText = a.getString(R.styleable.TitleBar_leftText); 
 | 
            int leftImage = a.getResourceId(R.styleable.TitleBar_leftImage, 0); 
 | 
            String centerText = a.getString(R.styleable.TitleBar_centerText); 
 | 
            int centerImage = a.getResourceId(R.styleable.TitleBar_centerImage, 0); 
 | 
            String rightText = a.getString(R.styleable.TitleBar_rightText); 
 | 
            int rightImage = a.getResourceId(R.styleable.TitleBar_rightImage, 0); 
 | 
            a.recycle(); 
 | 
            setLeftText(leftText); 
 | 
            setRightText(rightText); 
 | 
            setCenterText(centerText); 
 | 
            setLeftImage(leftImage); 
 | 
            setRightImage(rightImage); 
 | 
            setCenterImage(centerImage); 
 | 
        } catch (Exception e) { 
 | 
            e.printStackTrace(); 
 | 
        } 
 | 
    } 
 | 
  
 | 
    @Deprecated 
 | 
    public void setOnItemclickListner(int type, int aligh, OnClickListener listner) { 
 | 
        if (listner == null) { 
 | 
            return; 
 | 
        } 
 | 
        if (type == TEXT) { 
 | 
            switch (aligh) { 
 | 
                case LEFT: 
 | 
                    setOnItemclickListner(ClickType_LEFT_TEXT, listner); 
 | 
  
 | 
                    break; 
 | 
                case CENTER: 
 | 
                    setOnItemclickListner(ClickType_CENTER_TEXT, listner); 
 | 
  
 | 
                    break; 
 | 
                case RIGHT: 
 | 
                    setOnItemclickListner(ClickType_RIGHT_TEXT, listner); 
 | 
  
 | 
                    break; 
 | 
  
 | 
                default: 
 | 
                    break; 
 | 
            } 
 | 
        } else if (type == IMAGE) { 
 | 
            switch (aligh) { 
 | 
                case LEFT: 
 | 
                    setOnItemclickListner(ClickType_LEFT_IMAGE, listner); 
 | 
  
 | 
                    break; 
 | 
                case CENTER: 
 | 
                    setOnItemclickListner(ClickType_CENTER_IMAGE, listner); 
 | 
  
 | 
                    break; 
 | 
                case RIGHT: 
 | 
                    setOnItemclickListner(ClickType_RIGHT_IMAGE, listner); 
 | 
                    break; 
 | 
  
 | 
                default: 
 | 
                    break; 
 | 
            } 
 | 
  
 | 
        } 
 | 
  
 | 
    } 
 | 
  
 | 
    public void setOnItemclickListner(int clickType, OnClickListener listner) { 
 | 
        try { 
 | 
            switch (clickType) { 
 | 
                case ClickType_LEFT_TEXT: 
 | 
                    if (tvLeft.getVisibility() == View.VISIBLE) { 
 | 
                        llLeft.setOnClickListener(listner); 
 | 
                    } 
 | 
                    break; 
 | 
                case ClickType_LEFT_IMAGE: 
 | 
                    if (ivLeft.getVisibility() == View.VISIBLE) { 
 | 
                        llLeft.setOnClickListener(listner); 
 | 
                    } 
 | 
  
 | 
                    break; 
 | 
                case ClickType_CENTER_TEXT: 
 | 
                    if (btnCenter.getVisibility() == View.VISIBLE) { 
 | 
                        btnCenter.setOnClickListener(listner); 
 | 
                    } 
 | 
  
 | 
                    break; 
 | 
                case ClickType_CENTER_IMAGE: 
 | 
                    if (ibCenter.getVisibility() == View.VISIBLE) { 
 | 
                        ibCenter.setOnClickListener(listner); 
 | 
                    } 
 | 
  
 | 
                    break; 
 | 
                case ClickType_RIGHT_TEXT: 
 | 
                    if (tvRight.getVisibility() == View.VISIBLE) { 
 | 
                        llRight.setOnClickListener(listner); 
 | 
                    } else { 
 | 
                        llRight.setOnClickListener(null); 
 | 
                    } 
 | 
  
 | 
                    break; 
 | 
                case ClickType_RIGHT_IMAGE: 
 | 
                    if (ivRight.getVisibility() == View.VISIBLE) { 
 | 
                        llRight.setOnClickListener(listner); 
 | 
                    } 
 | 
                    break; 
 | 
  
 | 
                default: 
 | 
                    break; 
 | 
            } 
 | 
        } catch (Exception e) { 
 | 
            e.printStackTrace(); 
 | 
        } 
 | 
  
 | 
    } 
 | 
  
 | 
    public void setLeftImage(int leftImage) { 
 | 
        if (leftImage == 0) { 
 | 
            ivLeft.setVisibility(View.GONE); 
 | 
            return; 
 | 
        } 
 | 
        ivLeft.setVisibility(View.VISIBLE); 
 | 
        ivLeft.setImageResource(leftImage); 
 | 
  
 | 
    } 
 | 
  
 | 
    public void setRightImage(int rightImage) { 
 | 
        if (rightImage == 0) { 
 | 
            ivRight.setVisibility(View.GONE); 
 | 
            return; 
 | 
        } 
 | 
        ivRight.setVisibility(View.VISIBLE); 
 | 
        ivRight.setImageResource(rightImage); 
 | 
  
 | 
    } 
 | 
  
 | 
    private void setCenterImage(int leftImage) { 
 | 
        if (leftImage == 0) { 
 | 
            return; 
 | 
        } 
 | 
        ivLeft.setBackgroundResource(leftImage); 
 | 
  
 | 
    } 
 | 
  
 | 
    public void setLeftText(String leftText) { 
 | 
        if (leftText == null) { 
 | 
            return; 
 | 
        } 
 | 
        tvLeft.setVisibility(View.VISIBLE); 
 | 
        Log.i(TAG, "leftText--->" + leftText); 
 | 
        tvLeft.setText(leftText); 
 | 
    } 
 | 
  
 | 
    public void setRightText(String rightText) { 
 | 
        if (rightText == null) { 
 | 
            return; 
 | 
        } 
 | 
        tvRight.setVisibility(View.VISIBLE); 
 | 
        llRight.setVisibility(View.VISIBLE); 
 | 
        tvRight.setText(rightText); 
 | 
    } 
 | 
  
 | 
    public void setCenterText(String centerText) { 
 | 
        if (centerText == null) { 
 | 
            return; 
 | 
        } 
 | 
        btnCenter.setVisibility(View.VISIBLE); 
 | 
        Log.i(TAG, "centerText--->" + centerText); 
 | 
        btnCenter.setText(centerText); 
 | 
    } 
 | 
  
 | 
    public void setRightStatus(boolean isable) { 
 | 
        tvRight.setEnabled(isable); 
 | 
        ivRight.setEnabled(isable); 
 | 
        llRight.setEnabled(isable); 
 | 
  
 | 
    } 
 | 
  
 | 
    public void setRightIMGVisibility(int Visibility) { 
 | 
        ivRight.setVisibility(Visibility); 
 | 
    } 
 | 
  
 | 
    public TextView getTitleTextView() { 
 | 
        return btnCenter; 
 | 
    } 
 | 
  
 | 
    public LinearLayout getLlRight() { 
 | 
        return llRight; 
 | 
    } 
 | 
  
 | 
} 
 |