怎么让textview呈现出一个黑色边框

 我来答
51CTO学院
2015-11-17 · 中国最大的IT实战在线培训平台
51CTO学院
中国最大的IT实战在线教育培训平台。
向TA提问
展开全部

主要有三种方式可以实现:

  1. 带有边框的透明图片

  2. 使用xml的shape设置

  3. 继承TextView覆写onDraw方法。

方法一:

带有透明图片的背景图,只要设置background="#00000"就可以了。

方法二:

通过shape来设置背景图片

首先一个textview_border.xml文件放在drawable文件夹里面

<?xml version="1.0" encoding="utf-8"?>  

<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" >  

   <solid android:color="#ffffff" />  

   <stroke android:width="1dip" android:color="#4fa5d5"/>  

</shape>  

为要添加边框的TextView添加一个background

android:background="@drawable/textview_border"  

方法三:

编写一个继承TextView类的自定义组件,并在onDraw事件方法中画边框。

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();  

        //  将边框设为黑色  

        paint.setColor(android.graphics.Color.BLACK);  

        //  画TextView的4个边  

        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);  

    }  

}  

zoufeng1126
推荐于2017-09-07 · TA获得超过315个赞
知道小有建树答主
回答量:94
采纳率:0%
帮助的人:95万
展开全部
在res/drawable目录下添加如下txt_sharp.xml文件

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<stroke
android:width="1dp"
android:color="#000000"
/>
</shape>

在布局xml文件的txtView控件中添加
android:background="@drawable/txt_shape"
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
圣鸾OJ
2015-10-07 · TA获得超过1629个赞
知道小有建树答主
回答量:1136
采纳率:96%
帮助的人:112万
展开全部
在res/drawable目录下添加如下txt_sharp.xml文件

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<stroke
android:width="1dp"
android:color="#000000"
/>
</shape>

在布局xml文件的txtView控件中添加
android:background="@drawable/txt_shape"
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
董俊锟djk
2014-04-22 · TA获得超过2551个赞
知道小有建树答主
回答量:1231
采纳率:66%
帮助的人:1018万
展开全部
一般都是加背景图片
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式