TextView简介¶
本文介绍TextView的使用。介绍一些常用的属性。
TextView¶
文字,是我们传达信息的一种常见方式。在安卓应用上显示文字,我们通常使用TextView。
之前我们已经知道如何获取到layout中的TextView,也知道setText()
方法可以修改显示的文字。
结合我们实际的生活和学习经验,写字的时候,有哪些方面是可以由我们来控制的? 文本内容;文字颜色;大小;背景等等。
最简单的TextView。
得益于as强大的提示功能,我们在layout中输入<Te
的时候,as可能就弹出了提示。
回车或者鼠标双击TextView即可。
这里关注两个基本属性layout_width
和layout_height
。分别表示TextView的宽度和高度设置。
实际上这两个属性是View的属性。TextView继承自View。宽高属性是基础属性,是必须设置的。
宽和高属性¶
layout_width/layout_height 可以填入wrap_content
,match_parent
或者具体的数值。
wrap_content 表示控件宽/高度可由内容来决定。对于TextView,文字越长,它的宽度越宽,直到父view(上层容器)允许的最大宽/高度。
match_parent 表示控件宽/高度达到父view允许的最大值。通俗说就是把空间撑满。
当然我们也可以输入具体数值。比如80dp
。
dp是安卓中的一种单位,通常用来规定控件的宽高,间隔距离等等。我们都知道市面上有很多很多很多种安卓手机。各个手机屏幕大小和分辨率可能都有差别。例如有小米手机和华为手机,它们的屏幕大小和分辨率都不一样。我们给TextView设置宽度为100dp后,在两个手机的屏幕上,它的物理宽度是差不多的。
类似的,表示文字大小的单位,安卓里用sp
。
显示文字¶
显示文字,可能是TextView最主要的用法了。在layout中设置文字,使用text
属性。
<TextView
android:id="@+id/tv1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="2020年的Android新手教程。突出一个简单明了,上手快。 - RustFisher" />
<TextView
android:id="@+id/sample_tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/app_name" />
id
。有的人喜欢驼峰风格的,例如sampleTv
。笔者个人喜欢在layout中使用小写字母加下划线的风格。今后一般都是这样的风格。
我们可以看到,设置text有多种方式。可以直接把内容写进去(hard code),也可以使用string资源。
直接写内容,as会给一个黄色的警告,建议用户换用@string
资源的方式。鼠标移上去as就可以看到as的警告了。
若要使用@string
资源,我们先看另一个xml文件,即strings.xml
。它在res/values里面。
资源命名风格也是小写字母加下划线。
res里面的很多资源,我们可以都可以用R...
来找到。
前面我们提到,可以使用TextView的setText方法来设置文字内容,例如setText("123")
。
也可以传入文字资源的名称(编号),类似setText(R.string.app_name)
。
需要注意的是,R.string.app_name
本身是一个int数字,TextView会根据这个编号去找对应的资源。
如果这样调用setText(123)
,大概率会报下面的这个错误。
android.content.res.Resources$NotFoundException: String resource ID #0x0
at android.content.res.Resources.getText(Resources.java:360)
文字设置¶
一般来说,我们会设置TextView文字的颜色,背景等等。
- textColor 设置字体颜色
- textSize 设置字体大小
- textStyle 设置字体样式
以下是示例:
看到颜色设置那里,我们可以鼠标点击一下那个小色块,as会弹出一个颜色选择器。这个选择器还是很方便的。
间距设置¶
margin和padding其实是View的属性。这里我们拿TextView来看一下。
以后想显示一些文字的时候,我们首先会想起的是TextView。
工程放这里: https://gitee.com/rustfisher/AndroidTutorial
本站说明
一起在知识的海洋里呛水吧。广告内容与本站无关。如果喜欢本站内容,欢迎投喂作者,谢谢支持服务器。如有疑问和建议,欢迎在下方评论~