在 Android 中实现带边框的 TextView
Android SDK本身提供的TextView控件并不支持边框,所以要想实现这一效果的话我们可以通过自定义一个继承自 TextView 的控件来实现。
一、添加背景
二、自定控件
首先定义一个BorderTextView类, extends TextView 。
public class BorderTextView extends TextView {
    public BorderTextView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }
    @Override
    protected void onDraw(Canvas canvas) {  
        super.onDraw(canvas);  
        // 实例化一支画笔  
        Paint paint = new Paint();  
        // 设置所绘制的边框颜色为黑色  
        paint.setColor(android.graphics.Color.WHITE);  
        // 绘制上边框  
        canvas.drawLine(0, 0, this.getWidth() - 1, 0, paint);  
        // 绘制左边框  
        canvas.drawLine(0, 0, 0, this.getHeight() - 1, paint);  
        // 绘制右边框  
        canvas.drawLine(this.getWidth() - 1, 0, this.getWidth() - 1,  
                this.getHeight() - 1, paint);  
        // 绘制上边框  
        canvas.drawLine(0, this.getHeight() - 1, this.getWidth() - 1,  
                this.getHeight() - 1, paint);  
    }
}
然后在xml布局文件中加入这个控件,这里控件的类型要写上全名:
<com.ipac.BorderTextView
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"
    android:textColor="#000000" 
    android:layout_margin="20dp"
    android:text="BorderTextView" />
