TextView简介

在Android应用中,我们通常使用TextView向用户展示文本信息,并可设置文字的字体大小、颜色、背景色等基本样式,本篇我们将学习TextView的一些常用操作和属性。

下面是使用TextView实现的一些效果,我们接下来看实现方式。

android radiogroup 字体颜色 android布局字体颜色_android

普通TextView的使用

<!--text:用于设置显示文本,文本通常先在values/strings.xml中定义-->
<!--textColor:用于设置文本颜色,颜色通常先在values/colors.xml中定义-->
<!--textSize:用于设置文字大小,单位通常为sp-->
<TextView
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:layout_marginTop="20dp"
     android:text="普通文本"
     android:textColor="#0000ff"
     android:textSize="14sp" />

这里需要注意两个基本属性layout_width和layout_height,分别表示TextView的宽度和高度设置。 

layout_width和layout_height可以填入wrap_content,match_parent或者具体的数值。

  • wrap_content:宽高自适应文字内容长度,文字越长,它的宽度越宽,直到父容器允许的最大宽/高度。
  • match_parent:宽高撑满父容器。
  • 输入具体数值:比如100dp,单位为dp。 

TextView加边框、背景色和渐变背景色都是通过设置background属性实现,三种情况拥有相同的布局结构,唯一不同的就是background设置的属性文件不同。布局如下:

<TextView
            android:id="@+id/textView3"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="20dp"
            android:background="@drawable/jianbian"
            android:padding="5dp"
            android:text="带渐变色背景和边框的文本"
            android:textColor="#ffffff" />

带边框的TextView的background属性使用的drawable文件border.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <corners android:radius="5dp"></corners>
    <stroke android:width="1dp" android:color="#ff0000"></stroke>
</shape>

带背景色的TextView的background属性使用的drawable文件bg_color.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="#ff0000"></solid>
    <corners android:radius="5dp"></corners>
</shape>

带渐变色背景和边框的TextView的background属性使用的drawable文件jianbian.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <!--corners设置圆角,radius为4个角设置相同的圆角,还可以设置单独的圆角,使用topLeftRadius、topRightRadius等-->
    <corners android:radius="5dp"></corners>
    <!--stroke设置边框,width为边框宽度,color边框颜色-->
    <stroke android:width="1dp" android:color="#ff0000"></stroke>
    <!--gradient设置渐变色,startColor为开始颜色,endColor为结束颜色,type为渐变类型,此处为线性渐变-->
    <gradient android:startColor="#59cde9" android:endColor="#0a2a88" android:type="linear"></gradient>
    <!--solid为填充色,即背景色,-->
    <!--<solid android:color="#ff0000"></solid>-->
</shape>

文字上方设置图片

<TextView
            android:id="@+id/textView5"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="20dp"
            android:drawableTop="@android:drawable/sym_def_app_icon"
            android:padding="5dp"
            android:text="文字上方设置图片"
            android:textColor="#000000" />

可跳转到网页:https://www.baidu.com/

<!--autoLink:是否自动查找url、邮件地址等链接并将其转换为可点击的链接。默认值为"none",禁用此功能。
        可取值如下:
        all:匹配所有模式(相当于 web|email|phone|map)。
        email:匹配电子邮件地址。
        map:匹配地图地址。弃用:
        none:不匹配任何模式(默认)。
        phone:匹配电话号码。
        web:匹配 Web URL
        -->
        <TextView
            android:id="@+id/textView6"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="20dp"
            android:autoLink="web"
            android:padding="5dp"
            android:text="可跳转到网页:https://www.baidu.com/"
            android:textColor="#000000" />

可跳转到电话

<TextView
            android:id="@+id/textView7"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="20dp"
            android:autoLink="phone"
            android:padding="5dp"
            android:text="可跳转到电话:15894483722"
            android:textColor="#000000" />

以上为示例程序所展示的效果的代码实现,下面总结一下TextView常用的一些属性:

android:autoLink

autoLink:是否自动查找url、邮件地址等链接并将其转换为可点击的链接。默认值为"none",禁用此功能。 可取值如下:

all:匹配所有模式(相当于 web|email|phone|map)。

email:匹配电子邮件地址。

map:匹配地图地址。弃用。

none:不匹配任何模式(默认)。

phone:匹配电话号码。

web:匹配 Web URL。

android:drawableTop、android:drawableBottom系列

可在文本的不同方向上绘制显示对象。

android:gravity

文本小于视图长度时的对齐方式,可设置居中、居左、居右等。

android:singleLine

始终显示成单行文本。

android:textColor

设置文本颜色。

android:text

设置要显示的文本。

android:textSize

设置字体大小,单位通常是sp。

android:layout_margin系列

设置外边距,一般用于设置与其他元素的间距。

android:layout_padding系列

设置内边距,当设置了边框、背景色等,一般需要设置内边距,否则,显示出来的效果会比较丑。