package edu.hebtu.movingcampus.widget;
import android.content.Context;
import android.graphics.Color;
import android.util.AttributeSet;
import android.util.TypedValue;
import android.widget.ImageView;
import android.widget.ImageView.ScaleType;
import android.widget.RelativeLayout;
import android.widget.TextView;
import edu.hebtu.movingcampus.R;
public class CustomButton extends RelativeLayout {
private String text;
private int image = -1;
private int background = -1;
private int textid = -1;
private int imgid = -1;
public CustomButton(Context context, AttributeSet attrs) {
super(context, attrs);
// TODO Auto-generated constructor stub
int resourceText = -1;
textid = attrs.getAttributeResourceValue(null, "TextID", 0);
imgid = attrs.getAttributeResourceValue(null, "ImageID", 0);
TextView name = new TextView(context);
initTextView(name);
ImageView img = new ImageView(context);
initImageView(img);
resourceText = attrs.getAttributeResourceValue(null, "Text", 0);
if (resourceText > 0) {
text = context.getResources().getString(resourceText);
name.setText(text);
}
image = attrs.getAttributeResourceValue(null, "Image", 0);
if (image > 0) {
img.setImageResource(image);
}
background = attrs.getAttributeResourceValue(null, "Background", 0);
if (background > 0) {
this.setBackgroundResource(background);
}
this.addView(name);
this.addView(img);
}
public CustomButton(Context context) {
super(context);
// TODO Auto-generated constructor stub
}
private void initTextView(TextView tv) {
tv.setTextColor(Color.BLACK);
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
params.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
params.addRule(RelativeLayout.CENTER_HORIZONTAL);
tv.setTextColor(this.getResources().getColor(R.color.black));
tv.setTextSize(TypedValue.COMPLEX_UNIT_PX, this.getResources()
.getDimensionPixelSize(R.dimen.title_text_size));
tv.setLayoutParams(params);
tv.setId(textid);
}
private void initImageView(ImageView img) {
img.setId(imgid);
img.setPadding(3, 3, 3, 3);
img.setScaleType(ScaleType.FIT_CENTER);
img.setAdjustViewBounds(true);
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
// params.addRule(RelativeLayout.CENTER_HORIZONTAL);
params.addRule(RelativeLayout.ABOVE, textid);
img.setLayoutParams(params);
}
}