package com.campus.prime.ui.view; import com.campus.prime.R; import android.R.color; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.util.AttributeSet; import android.util.Log; public class LabelEditText extends ThemeEditText { private static Boolean isDark = false; private static final int [] light_mode = {R.attr.state_light}; private static final int [] dark_mode = {R.attr.state_dark}; private String label = "Label"; private Paint paint; private int paddingLeft; private int paddingTop; private int paddingRight; private int paddingBottom; private int finalPaddingTop; private int labelLocation; public LabelEditText(Context context) { super(context); this.initPadding(); //TODO Auto-generated constructor stub } public LabelEditText(Context context,AttributeSet attrs) { super(context,attrs); this.initPadding(); //TODO Auto-generated constructor stub } public LabelEditText(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); // TODO Auto-generated constructor stub } public int[] onCreateDrawableState(int extraSpace) { int[] drawableState = super.onCreateDrawableState(extraSpace + 2); if(isDark == true) mergeDrawableStates(drawableState,dark_mode); else mergeDrawableStates(drawableState,light_mode); return drawableState; } protected void onDraw(Canvas canvas) { Paint paint = new Paint(); this.initPaint(paint); this.setPadding(paddingLeft, finalPaddingTop, paddingRight, paddingBottom); canvas.drawText(label+":", paddingLeft, labelLocation, paint); super.onDraw(canvas); } public void setLabel(String label) { this.label = label; } public void initPaint(Paint paint) { int color = this.getResources().getColor(R.color.pocket_blue); paint.setColor(color); paint.setTextAlign(Paint.Align.LEFT); paint.setTextSize(this.getResources().getDimension(R.dimen.form_header_text_size)); paint.setAntiAlias(true); paint.setTypeface(getTypeface()); } public void initPadding() { this.paddingLeft = getPaddingLeft(); this.paddingTop = getPaddingTop(); this.paddingRight = getPaddingRight(); this.paddingBottom = getPaddingBottom(); finalPaddingTop = (int) this.getResources().getDimension(R.dimen.form_header_text_size)+paddingTop; labelLocation = (int) this.getResources().getDimension(R.dimen.form_header_text_size); } }