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

import android.annotation.SuppressLint;
import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Color;
import android.graphics.Typeface;
import android.text.TextPaint;
import android.util.AttributeSet;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;

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

/**
 * @ClassName: ImageTextButton 
 * @Description: 自定义控件,图片在上面下面是Text
 * @author zhaosw email:vvtale@gmail.com
 * @date 2014年3月29日 上午10:40:47  
 */
@SuppressLint("ResourceAsColor")
public class ImageTextButton extends LinearLayout
{

	private ImageView mImageView;

	private TextView mTextView;

	private TypedArray typedArray;

	public ImageTextButton(Context context)
	{
		this(context, null);
	}

	public ImageTextButton(Context context, AttributeSet attrs)
	{
		super(context, attrs);
		typedArray = context.obtainStyledAttributes(attrs,
				R.styleable.ImageTextButton);
	}

	@Override
	protected void onFinishInflate()
	{
		createView();
		super.onFinishInflate();
	}

	private void createView()
	{
		if (ApplicationMain.getInstance() != null)
		{
			View view = ApplicationMain.getInstance().inflateView(
					R.layout.imagetextbutton, this);
			mImageView = (ImageView) view.findViewById(R.id.mImageView);
			mTextView = (TextView) view.findViewById(R.id.mTextView);
			
			if (typedArray != null)
			{
				int imageRes = typedArray.getResourceId(
						R.styleable.ImageTextButton_ImageSrc, 0);
				if (imageRes > 0)
				{
					mImageView.setImageResource(imageRes);
				}

				int textBgRes = typedArray.getResourceId(
						R.styleable.ImageTextButton_TextBg, 0);
				if (textBgRes > 0)
				{
					mTextView.setBackgroundResource(textBgRes);
				}
				int textRes = typedArray.getResourceId(
						R.styleable.ImageTextButton_Text, 0);
				if (textRes > 0)
				{
					mTextView.setText(textRes);
				}
				else
				{
					String textValue = typedArray
							.getString(R.styleable.ImageTextButton_Text);
					if (textValue != null)
					{
						mTextView.setText(textValue);
//						TextPaint tp = mTextView.getPaint();
//						tp.setFakeBoldText(true);
					}
				}
				typedArray.recycle();
				System.gc();
			}
		}
	}

	public ImageView getmImageView() {
		return mImageView;
	}

	public void setmImageView(ImageView mImageView) {
		this.mImageView = mImageView;
	}

	
	
}