package com.videogo.widget;
|
|
import android.content.Context;
|
import android.content.res.TypedArray;
|
import android.graphics.drawable.Drawable;
|
import android.text.SpannableString;
|
import android.text.TextUtils;
|
import android.util.AttributeSet;
|
import android.view.LayoutInflater;
|
import android.view.View;
|
import android.view.View.OnClickListener;
|
import android.widget.FrameLayout;
|
import android.widget.ImageView;
|
import android.widget.TextView;
|
|
import ezviz.ezopensdk.R;
|
|
public class TopBar extends FrameLayout implements OnClickListener {
|
|
private TextView mTitle = null;
|
private TextView mTextViewLeft;
|
private TextView mTextViewRight;
|
|
private ImageView mImgLeft;
|
|
private ImageView mImgRight;
|
private OnTopbarClickListener mListener = null;
|
|
public static interface OnTopbarClickListener {
|
void onLeftButtonClicked();
|
|
void onRightButtonClicked();
|
}
|
|
public void setOnTopbarClickListener(OnTopbarClickListener listener) {
|
mListener = listener;
|
}
|
|
public TopBar(Context context, AttributeSet attrs) {
|
super(context, attrs);
|
TopBar root = (TopBar) LayoutInflater.from(context).inflate(R.layout.topbar, this, true);
|
mTitle = (TextView) root.findViewById(R.id.text_title);
|
mTextViewRight = (TextView) root.findViewById(R.id.text_right);
|
mTextViewLeft = (TextView) root.findViewById(R.id.text_left);
|
mImgLeft = (ImageView) root.findViewById(R.id.image_back);
|
mImgRight = (ImageView) root.findViewById(R.id.topbar_right_img);
|
mImgLeft.setOnClickListener(this);
|
mImgRight.setOnClickListener(this);
|
mTextViewRight.setOnClickListener(this);
|
mTextViewLeft.setOnClickListener(this);
|
TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.TopBar);
|
boolean hideLeft = typedArray.getBoolean(R.styleable.TopBar_hideLeft, true);
|
boolean hideRight = typedArray.getBoolean(R.styleable.TopBar_hideRight, true);
|
Drawable leftIcon = typedArray.getDrawable(R.styleable.TopBar_leftIcon);
|
String title = typedArray.getString(R.styleable.TopBar_topBarTitle);
|
String left = typedArray.getString(R.styleable.TopBar_topBarLeft);
|
String right = typedArray.getString(R.styleable.TopBar_topBarRight);
|
Drawable rightIcon = typedArray.getDrawable(R.styleable.TopBar_rightIcon);
|
|
if (!TextUtils.isEmpty(left)) {
|
mTextViewLeft.setText(left);
|
}
|
|
if (!TextUtils.isEmpty(right)) {
|
mTextViewRight.setText(right);
|
}
|
if (hideLeft) {
|
mTextViewLeft.setVisibility(View.GONE);
|
}
|
if (hideRight) {
|
mTextViewRight.setVisibility(View.GONE);
|
}
|
|
if (!TextUtils.isEmpty(title)) {
|
mTitle.setText(title);
|
}
|
|
if (leftIcon != null) {
|
mImgLeft.setVisibility(View.VISIBLE);
|
mImgLeft.setImageDrawable(leftIcon);
|
}
|
|
if (rightIcon != null) {
|
mImgRight.setVisibility(View.VISIBLE);
|
mImgRight.setImageDrawable(rightIcon);
|
}
|
|
typedArray.recycle();
|
}
|
|
public void setTitle(int resId) {
|
mTitle.setText(resId);
|
mTitle.setVisibility(View.VISIBLE);
|
}
|
|
public void setTitle(String res) {
|
mTitle.setText(res);
|
mTitle.setVisibility(View.VISIBLE);
|
}
|
|
public void setTitle(SpannableString spannableString) {
|
mTitle.setText(spannableString);
|
mTitle.setVisibility(View.VISIBLE);
|
}
|
|
public void setRightText(int resId) {
|
mTextViewRight.setText(resId);
|
mTextViewRight.setVisibility(View.VISIBLE);
|
}
|
|
public void showLeftText() {
|
mTextViewLeft.setVisibility(View.VISIBLE);
|
}
|
|
public void hideLeftText() {
|
mTextViewLeft.setVisibility(View.GONE);
|
}
|
|
public void showRightText() {
|
mTextViewRight.setVisibility(View.VISIBLE);
|
}
|
|
public void hideRightText() {
|
mTextViewRight.setVisibility(View.GONE);
|
}
|
|
public TextView getLeftText() {
|
return mTextViewLeft;
|
}
|
|
public TextView getRightText() {
|
return mTextViewRight;
|
}
|
|
public TextView getTitle() {
|
return mTitle;
|
}
|
|
@Override
|
public void onClick(View v) {
|
// TODO Auto-generated method stub
|
if (mListener != null) {
|
if (mTextViewLeft == v || mImgLeft == v) {
|
mListener.onLeftButtonClicked();
|
} else if (mTextViewRight == v) {
|
mListener.onRightButtonClicked();
|
}else if (mImgRight == v) {
|
mListener.onRightButtonClicked();
|
}
|
}
|
}
|
}
|