Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private Context mContext;
- private String mText = "";
- private int mTextSize;
- private Paint mPaint;
- private int paddingLeft = 0;
- private int paddingRight = 0;
- private int paddingTop = 0;
- private int paddingBottom = 0;
- private int fontSize = 100;
- public void setText(String text)
- {
- mText = text;
- }
- public FastTextView (Context context)
- {
- super(context);
- initialize();
- }
- public FastTextView (Context context, AttributeSet attrs)
- {
- super(context, attrs);
- initialize();
- }
- public void setPaddingLeft(int padding)
- {
- paddingLeft = padding;
- }
- public void setPaddingRight(int padding)
- {
- paddingRight = padding;
- }
- public void setPaddingBottom(int padding)
- {
- paddingBottom = padding;
- }
- public void setPaddingTop(int padding)
- {
- paddingTop = padding;
- }
- public void setFontSize(int size)
- {
- fontSize = size;
- }
- @Override
- protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec)
- {
- super.onMeasure(widthMeasureSpec, heightMeasureSpec);
- Rect rect = new Rect();
- mPaint.getTextBounds(mText.toString(), 0, mText.length(), rect);
- int width = Math.max(rect.width(), getSuggestedMinimumWidth()) + paddingLeft + paddingRight;
- int height = Math.max(rect.height(), getSuggestedMinimumHeight()) + paddingTop + paddingBottom;
- setMeasuredDimension(width, height);
- }
- /**
- * Initialize the view
- */
- private void initialize()
- {
- mContext = getContext();
- mPaint = new Paint();
- mPaint.setColor(Color.RED);
- mPaint.setTextSize(fontSize);
- mPaint.setTextAlign(Align.LEFT);
- setBackgroundColor(Color.GREEN);
- }
- @Override
- protected void onDraw(Canvas canvas)
- {
- super.onDraw(canvas);
- canvas.drawColor(Color.BLUE);
- int x = paddingLeft;
- int y = paddingTop + fontSize;
- if (mText.length() > 0) {
- canvas.drawText(mText, x, y-fontSize/4, mPaint);
- }
- }
- canvas.drawText(mText, 0, mText.length() - 1, 0, mTextSize, mPaint);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement