文字,是我们传达信息的一种常见方式。在安卓应用上显示文字,我们通常使用TextView。 之前我们已经知道如何获取到layout中的TextView,也知道setText()
方法可以修改显示的文字。
结合我们实际的生活和学习经验,写字的时候,有哪些方面是可以由我们来控制的? 文本内容;文字颜色;大小;背景等等。
最简单的TextView:
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
得益于as强大的提示功能,我们在layout中输入 回车或者鼠标双击TextView即可。 这里关注两个基本属性 layout_width/layout_height 可以填入wrap_content,match_parent或者具体的数值。 显示文字,可能是 TextView 最主要的用法了。在 layout 中设置文字,使用 text 属性。 这里涉及到一个代码风格的问题。上面分别给TextView设置了id。有的人喜欢驼峰风格的,例如sampleTv。 我们可以看到,设置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),大概率会报下面的这个错误。 一般来说,我们会设置TextView文字的颜色,背景等等。 xml 中设置: 示例1:设置斜体 示例2:设置斜体并且加粗 代码中设置 使用 TextView 的 setTypeface 方法来设置字体效果。 setTypeface(@Nullable Typeface tf, @Typeface.Style int style)有2个参数。 第一个是字体,这里可以忽略。 第二个是效果,有正常,加粗,斜体,加粗和斜体这几种可选。 默认情况下,TextView 的 typeface 属性支持 sans、serif和monospace 这三种字体。 系统默认 sans 作为文本显示的字体。但这三种字体只支持英文。如果显示中文,无论选择这三种字体中的哪一种,显示效果都是一样的。 layout中设置字体: 使用 代码中使用字体: 引入字体库 需要引入ttf字体文件。把字体文件放在assets/font目录里。 代码中使用AssetManager来获取字体。 例如:在Activity中设置字体。 最后分享一份 对于新手来说可能安装Android Studio存在一定困难你可以看着以下视频,一步步的跟着学习安装运行 有了Java阶段的学习,这一阶段建议以视频学习为主辅以图书查漏补缺。如果以图书为主,可以根据图书讲解敲代码,辅以教学视频查漏补缺。遇到问题可以去百度,入门的问题一般会有很多人遇到,并且给出比较好的解答。 需要掌握基本知识点,比如四大组件如何使用、如何创建Service、如何进行布局、简单的自定义View、动画、网络通信等常见技术。 全套零基础教程已经为你们准备好了,需要的可以添加下方二维码免费领取 全套安卓基础教程layout_width
和layout_height
。分别表示TextView的宽度和高度设置。 实际上这两个属性是View的属性。TextView继承自View。宽高属性是基础属性,是必须设置的。宽和高属性
显示文字
<TextView
android:id="@+id/tv1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="新手教程" />
<TextView
android:id="@+id/sample_tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/app_name" />
<string name="app_name">2021</string>
android.content.res.Resources$NotFoundException: String resource ID #0x0
at android.content.res.Resources.getText(Resources.java:360)
文字设置
textStyle 设置字体样式
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Fisher"
android:textColor="#000000"
android:textStyle="italic" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="bold|italic"
android:textColor="#000000"
android:textStyle="bold|italic" />
tv1.setTypeface(null, Typeface.NORMAL); // 普通
tv1.setTypeface(null, Typeface.BOLD); // 加粗
tv2.setTypeface(null, Typeface.ITALIC); // 斜体
tv3.setTypeface(null, Typeface.BOLD_ITALIC); // 加粗和斜体
字体(字库)
android:typeface
来设置字体。<!-- sans字体 -->
<TextView
android:text="Hello,World"
android:typeface="sans" />
<!-- serifs字体 -->
<TextView
android:text="Hello,World"
android:typeface="serif" />
<!-- monospace字体 -->
<TextView
android:text="Hello,World"
android:typeface="monospace" />
tv.setTypeface(Typeface.SERIF);
tv.setTypeface(Typeface.SANS_SERIF);
tv.setTypeface(Typeface.MONOSPACE);
TextView tv1 = findViewById(R.id.tv1);
Typeface tf = Typeface.createFromAsset(getAssets(), "fonts/otherFont.ttf");
tv1.setTypeface(tf); // 使用字体
【腾讯技术团队出品】Android零基础入门到精通,Android Studio安装教程+全套安卓基础教程
Android编程入门教程
Java语言基础从入门到熟悉
Kotlin语言基础从入门到熟悉
Android 技术栈从入门到熟悉
Android Jetpack 全家桶全面学习
Android Studio 安装教程