怎么让TextView显示圆圈背景或者设置圆角

在我们学习android这么久,而且使用TextView那么长时间,我们一直没有用过给TextView添加背景,或者是给TextView添加添加边框,以及怎么样设置TextView的形状。今天在写代码的时候就用到了,怎么在java代码部分设置TextView的背景,和TextView的形状及边框。

接下来我们来看一下,怎么在Java代码部分怎么设置TextView的背景颜色,其实很简单的就一句话。

tvTemp.setBackgroundColor(Color.parseColor("#00FF00"));

我们在xml布局文件中就可以直接调用drawable文件代码如下:

android:background="@drawable/textview"

在我们设置背景的时候, 我们都知道使用 setBackgroundColor()方法,但是,方法里面的参数,必须是RGB HTML格式的值,如果我们用drawable,它会提示drawable是int类型的。(其实如果可以的话我们不妨使用ImageView组件,这个组件相对TextView更好用)。

我们接下来就来看看怎么给让TextView显示边框,并且怎么样让其显示圆形。这里我们就需要在drawable里面,新建一个.xml文件。

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval"
    android:useLevel="false">
    <solid android:color="#00FF00" />
    <stroke android:width="1dip" android:color="#000000" />
    <size
        android:width="15dp"
        android:height="15dp" />
</shape>

这只是一个圆形,其中, stroke属性,是设置的他的边框颜色和宽度,在xml布局中显示的是如图所示的样式:

《怎么让TextView显示圆圈背景或者设置圆角》 xml样式

最后我们就可以在xml文件中利用drawable调用。
其中我们在xml中不仅可以设置圆形,而且还可以设置圆角,

<corners android:radius="15dp" />属性就是设置圆角

我们在介绍一些关于shape里面的知识:
gradient — 颜色渐变
startcolor 起点颜色
endcolor 终点颜色
android:angle 角度 0是从左到右,90是从下到上
solid — 填充
stroke — 描边
corners — 圆角
padding — 内容离边界的距离

当我们需要在java代码中需要设置TextView时,发现通过上面的方法设置,圆角就会消失,在这里怎么让圆角不会消失,我们需要:

GradientDrawable myGrad = (GradientDrawable)tv_test.getBackground();
myGrad.setColor(Color.BLUE);
    原文作者:南岸未阴8815
    原文地址: https://www.jianshu.com/p/ba947df32e63
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞