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样式

可以在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);

相关文章

第十三章:Java图形用户界面编程

Java图形用户界面(Graphical User Interface,GUI)编程是一种创建交互式应用程序界面的技术。通过使用GUI,开发人员可以创建具有按钮、文本框、复选框等可视化组件的应用程序。...

java课程设计大作业 2048小游戏(设计实现文档+源代码)

目录一、 实现方案3二、 具体代码及程序框图分析4三、 参考资料14一、 实现方案本游戏采用Java语言编写,使用Eclipse编译器, jdk1.7.0_51编译环境。游戏的UI主要运用Java图形...

小高分享(63)Java中的图形、图像与音频

分享兴趣,传播快乐,增长见闻,留下美好!亲爱的您,这里是LearningYard新学苑。今天小编为你带来小高分享(63)Java中的图形、图像与音频欢迎您的访问!Share interests, sp...

Java-GUI编程之绘图

很多程序如各种小游戏都需要在窗口中绘制各种图形,除此之外,即使在开发JavaEE项目时,有时候也必须"动态"地向客户 端生成各种图形、图表,比如 图形验证码、统计图等,这都需要利用AW...

java swing开发的人人五子棋图形界面版.

上次发表了二维数组版,这次是图形界面版,算法是一模一样,就是多了个图形.运行StartGame.java,出现如图界面:然后开始自己和自己下棋:所有的代码结构放入eclipse直接运行!如需全套代码!...

如何自学Java语言?

随着互联网的高速发展,越来越多的人开始学习Java,对于喜欢编程的朋友来说,Java是一门非常值得去学习的语言,那么Java语言应该怎么学呢?Java是一门面向对象编程语言,不仅吸收了C++语言的各种...