博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
背景+带边框(圆角)的textview怎么设置
阅读量:1989 次
发布时间:2019-04-27

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

有三种方式可以实现

  • 方法一:

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

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

android:background="@drawable/textview_border" 

  • 方法二:

通过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>

然后设置成背景   android:background="@drawable/textview_border" 

  • 方法三:

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

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

    }

}

第二种方法常用,一些案例如下:

//如果当做是LevelListDrawable使用时值为true,否则为false.
//右下角的圆角半径
//使用LevelListDrawable时就要设置为true。设为false时才有渐变效果
//虚线的间隔

圆角矩形,扫描式渐变:

圆形,线性渐变

虚线

环形,放射型渐变

结合使用,在 selector 中用shape背景

 

 

 

转载地址:http://tgivf.baihongyu.com/

你可能感兴趣的文章
linux嵌入式系统开发之触摸屏---驱动篇(上/硬件原理\下/源码分析)
查看>>
对于中断函数返回值的分析
查看>>
x210——Android睡眠唤醒串口打印信息
查看>>
tianxiawuzhei_linux中触摸屏驱动的实现——基于s3c6410处理器
查看>>
四线触摸屏原理
查看>>
Hi-Z(高阻态)
查看>>
小议Linux staging tree
查看>>
内核配置中的:USB Gadget Support
查看>>
内核配置中的:Multifunction device drivers
查看>>
关于内核中 #ifdef CONFIG_**的问题
查看>>
Linux Kernel and Android 休眠与唤醒(中文版)
查看>>
Android中间件开发----Windows下Android环境搭建(最新最方便)
查看>>
C/C++如何返回一个数组/指针
查看>>
如何在 Ubuntu 16.04 上安装并使用 TensorFlow
查看>>
基于Android NDK的学习之旅-----JNI LOG打印
查看>>
语音命令词识别
查看>>
Linux tool: convert binary file to C/C++ source code array
查看>>
腾讯AI语音识别API踩坑记录
查看>>
linux中Oops信息的调试及栈回溯—Linux人都知道,这是好东西!
查看>>
C语言与javascript的不同之处
查看>>