博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android 为TextView添加边框
阅读量:4656 次
发布时间:2019-06-09

本文共 1870 字,大约阅读时间需要 6 分钟。

今天需要在TextView上面添加一个边框,但是TextView本身不支持边框,所以只能采用其他方式,在网上查询了一下,主要有三种方式可以实现1.带有边框的透明图片2.使用xml的shape设置3继承TextView覆写onDraw方法。

方法一:

带有透明图片的背景图,这个没有什么好将的,自己制作一个就行 ,然后设置background就可以了

方法二:

通过shape来设置背景图片

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

 

 

为要添加边框的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);          }      }

 

效果图如下:

使用的Xml布局内容如下:

 

 

转载于:https://www.cnblogs.com/zhujiabin/p/4757227.html

你可能感兴趣的文章
试一下:XP ( SP2 ) 本身就支持查杀流氓软件!
查看>>
centos6(7) minimal 基本环境配置
查看>>
maven 构建可执行jar文件
查看>>
P2837晚餐队列安排
查看>>
DP专题
查看>>
UVa 1402 Runtime Error 伸展树
查看>>
笔记本安装SSD固态硬盘详细的优化设置
查看>>
laravel服务提供者类说明
查看>>
Sublime Text 关闭自动更新的办法
查看>>
电脑借液晶电视显示器出现雪花点的另类解决办法
查看>>
非[无]root权限 服务器 下安装perl以及perl模块--转载
查看>>
js数组去重
查看>>
网络编程之socket
查看>>
运维常见选择题汇总
查看>>
RedHat下安装OpenCV]
查看>>
Struts2的动态Action和全局跳转视图以及配置各项默认值
查看>>
Imageview如何设置背景颜色
查看>>
vue2.0父子组件通信的方法
查看>>
CSS】哪些样式属性可以继承
查看>>
批处理语法介绍
查看>>