android学习之旅(6)---TextView

TextView

TextView直接继承了View,从功能上看TextView就是一个没有编辑功能的文本编辑器,主要用于文本内容的展示。TextView有非常多的XML属性,主要使用的有以下几种:

(1)显示文字
(2)给文字添加图标
(3)给文字添加添加下划线
(4)给文字添加中划线
(5)文本框的显示不下内容时的操作

显示文字

(1)text

给View设置文本信息。有两种方法可以给text添加文字:
(1)android:text=“HelloWorld” 直接给text赋值
(2)android:text="@string/text" 将文本内容写在string.xml中,然后赋值

(2)textSize

设置TextView中文本的字体大小,字体的单位建议使用sp

(3)textColor

设置TextView的文本颜色

(4)layout_margin

设置外边距,即TextView和其他组件的间隔,注意直接使用layout_margin是为该组件的上下左右都设置外边距,也可以分别给组件的四个方向设置外边距。

(5)padding

设置内边距,即TextView中显示的内容了TextView边框的距离,和layout)margin一样,可以通过padding一起设置,也可以分别设置。

示例程序

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="left"
        android:layout_marginTop="10dp"
        android:padding="10dp"
        android:padding="10dp"
        android:text="@string/textPHP"
        android:textColor="#ff0000"
        android:textSize="24sp" />

给文字添加图标

(6)drawableLeft

将图标设置在文字的左侧。除此之外android还提供了drawableRight等,可以将图标放在文本的上下左右。

示例程序

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="left"
        android:layout_marginTop="15dp"
        android:drawableLeft="@drawable/setting"
        android:drawablePadding="5dp"
        android:text="设置"
        android:textColor="#0000ff"
        android:textSize="24sp" />

给文字添加添加下划线

给文字添加下划线需要使用代码才能实现

(7)setUnderlineText(boolean)

该方法是TextPaint中的一个方法,通过该方法可以为TextView中的内容设置下划线,不过使用该函数之前必须获得画该组件的画笔。

(8)getPaint()

获取画笔

示例程序

        m_TextViewJAVA=findViewById(R.id.textViewJAVA);
        //获取画笔
        TextPaint textPaint=m_TextViewJAVA.getPaint();
        //给文本设置下划线
        textPaint.setUnderlineText(true);

给文本添加中划线

(9)setFlags()

给文本这只标志,该函数并不仅仅只是单纯的智能设置中划线,还可以设置其他很多样式,如下划线等。

示例程序

        m_TextViewC.getPaint().setFlags(TextPaint.STRIKE_THRU_TEXT_FLAG);

文本框的显示不下内容时的操作

(10)ellipsize

设置当显示的文本超过了TextView的长度是如何处理文本内容,该属性支持如下属性值:

(1)none:不做任何处理
(2)start:在文本开始出截断,并显示省略号
(3)middle:在文本中间截断,并显示省略号
(4)end:在文本末尾处阶段,并显示省略号
(5)marquee:使用marquee滚动动画显示文本

(11)maxLines

设置组件内容的最大行数

(12)singleline

设置文本内容文单行显示

(13)focusable

设置焦点

(14)focusableInToucnMode

设置可以通过触摸获取焦点

(15)marqueeRepeatLimit

设置文本内容的滚动次数,marquee_forever为无限次。

示例程序1

将显示不下的内容从文本末尾截断,并使用省略号

    <TextView
        android:layout_width="200dp"
        android:layout_height="wrap_content"
        android:layout_gravity="left"
        android:layout_marginTop="10dp"
        android:ellipsize="end"
        android:maxLines="1"
        android:text="@string/textCPP"
        android:textColor="#03A9F4"
        android:textSize="24sp" />

示例程序2

将显示不下的内容以滚动形式显示在屏幕上

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="left"
        android:layout_marginTop="15dp"
        android:text="@string/textPoetry"
        android:textColor="#43F436"
        android:textSize="24sp"
        android:ellipsize="marquee"
        android:marqueeRepeatLimit="marquee_forever"
        android:singleLine="true"
        android:focusable="true"
        android:focusableInTouchMode="true" />

运行结果

以上几种效果的运行结果:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-g8ZpCzb2-1575610389790)(./TextView运行效果.png)]

String.xml

    <resources>
        <string name="app_name">ViewText</string>
        <string name="textPHP">PHP是世界上最好的语言</string>
        <string name="textCPP">CPP是世界上最好的语言</string>
        <string name="textC">C语言是世界上最好的语言</string>
        <string name="textJAVA">JAVA是世界上最好的语言</string>
        <string name="textPoetry">待到秋来九月八,我花开后百花杀。冲天香阵透长安,满城尽带黄金甲。</string>
    </resources>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值