/**
|
*
|
*/
|
package com.dayu.recharge.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.recharge.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, View.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, View.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;
|
}
|
|
}
|