android 设置textview 边框

1.在drawable下面定义一个名字为border.xml的shape.

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >

    <!-- set the background color and can remove -->
    <solid android:color="#ffffff" />
    <!-- set the border color and width -->
    <stroke
        android:width="2dip"
        android:color="#000000" />

</shape>

 在布局文件或者代码中设置使用方式:

 

android:background="@drawable/border"

 

textView.setBackgroundDrawable(getResources().getDrawable(R.drawable.border));

 2.自定义TextView

package com.example.test;

import android.annotation.SuppressLint;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.util.AttributeSet;
import android.widget.TextView;

@SuppressLint("DrawAllocation")
public class BorderTextView extends TextView{

	public BorderTextView(Context context) {
		super(context);
	}
	public BorderTextView(Context context, AttributeSet attrs) {
		super(context, attrs);
	}
	private int sroke_width = 1;
	@Override
	protected void onDraw(Canvas canvas) {
		Paint paint = new Paint();
        //  set border color is black
        paint.setColor(android.graphics.Color.BLACK);
        //  draw TextView border
        canvas.drawLine(0, 0, this.getWidth() - sroke_width, 0, paint);
        canvas.drawLine(0, 0, 0, this.getHeight() - sroke_width, paint);
        canvas.drawLine(this.getWidth() - sroke_width, 0, this.getWidth() - sroke_width, this.getHeight() - sroke_width, paint);
        canvas.drawLine(0, this.getHeight() - sroke_width, this.getWidth() - sroke_width, this.getHeight() - sroke_width, paint);
		super.onDraw(canvas);
	}
}

 

转载: http://blog.csdn.net/jwzhangjie/article/details/9404823

发布了113 篇原创文章 · 获赞 1 · 访问量 2万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 书香水墨 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览