1 package com.example.furt.myapplication;
3 import android.content.Context;
4 import android.graphics.Canvas;
5 import android.graphics.Color;
6 import android.graphics.Paint;
7 import android.util.AttributeSet;
8 import android.util.Log;
9 import android.widget.TextView;
11 public class BorderedTextView extends TextView {
12 private Paint paint = new Paint();
13 public static final int BORDER_TOP = 0x00000001;
14 public static final int BORDER_RIGHT = 0x00000002;
15 public static final int BORDER_BOTTOM = 0x00000004;
16 public static final int BORDER_LEFT = 0x00000008;
17 private Border[] borders;
19 public BorderedTextView(Context context, AttributeSet attrs, int defStyle) {
20 super(context, attrs, defStyle);
24 public BorderedTextView(Context context, AttributeSet attrs) {
25 super(context, attrs);
29 public BorderedTextView(Context context) {
34 paint.setStyle(Paint.Style.STROKE);
35 paint.setColor(Color.BLACK);
36 paint.setStrokeWidth(4);
39 protected void onDraw(Canvas canvas) {
41 if(borders == null) return;
42 for(Border border : borders){
43 paint.setColor(border.getColor());
44 paint.setStrokeWidth(border.getWidth());
46 if(border.getStyle() == BORDER_TOP){
47 canvas.drawLine(0, 0, getWidth(), 0, paint);
49 if(border.getStyle() == BORDER_RIGHT){
50 canvas.drawLine(getWidth(), 0, getWidth(), getHeight(), paint);
52 if(border.getStyle() == BORDER_BOTTOM){
53 canvas.drawLine(0, getHeight(), getWidth(), getHeight(), paint);
55 if(border.getStyle() == BORDER_LEFT){
56 canvas.drawLine(0, 0, 0, getHeight(), paint);
61 public Border[] getBorders() {
65 public void setBorders(Border[] borders) {
66 this.borders = borders;