在我们学习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布局中显示的是如图所示的样式:
最后我们就可以在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);