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; } }