package com.com.mr_wrong.test;
import android.content.Context;
import android.graphics.drawable.Drawable;
import android.util.AttributeSet;
import android.util.TypedValue;
import android.view.Gravity;
import android.view.View;
import android.widget.ImageView;
import android.widget.ImageView.ScaleType;
import android.widget.LinearLayout;
import android.widget.TextView;
public class TabView extends LinearLayout {
private ImageView mImageView;
private TextView mTextView;
public TabView(Context context) {
this(context, null);
}
public TabView(Context context, AttributeSet attrs) {
this(context, attrs, android.R.attr.actionBarTabStyle);
}
public TabView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
TypedValue outValue = new TypedValue();
context.getTheme().resolveAttribute(android.R.attr.actionBarTabTextStyle, outValue, true);
int txtstyle = outValue.data;
int pad = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 8, getResources()
.getDisplayMetrics());
mImageView = new ImageView(context);
mImageView.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.MATCH_PARENT));
mImageView.setScaleType(ScaleType.CENTER_INSIDE);
mTextView = new TextView(context);
mTextView.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
mTextView.setGravity(Gravity.CENTER);
mTextView.setCompoundDrawablePadding(pad);
mTextView.setTextAppearance(context, txtstyle);;
this.addView(mImageView);
this.addView(mTextView);
this.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
}
public void setIcon(int resId) {
setIcon(getContext().getResources().getDrawable(resId));
}
public void setIcon(Drawable icon) {
if (icon != null) {
mImageView.setVisibility(View.VISIBLE);
mImageView.setImageDrawable(icon);
} else {
mImageView.setVisibility(View.GONE);
}
}
public void setText(int resId, int ico) {
setText(getContext().getString(resId), ico);
}
public void setText(CharSequence text, int ico) {
mTextView.setText(text);
mTextView.setCompoundDrawablesWithIntrinsicBounds(ico, 0, 0, 0);;
}
}