介绍

TextView 是 Android 开发中最常用的小部件之一。它用于在屏幕上显现文本。可是,TextView 有几个较少为人知的功用,对开发人员十分有用。在本博客文章中,咱们将探讨其间的一些功用。

自定义字体

默认状况下,TextView 运用系统字体显现文本。但其实咱们也能够导入咱们自己的字体文件在 TextView 中运用自定义字体。这能够经过将字体文件增加到资源文件夹(res/font 或许 assets)并在 TextView 上以编程办法设置来完成。

要运用自定义字体,咱们需求下载字体文件(或许自己生成)并将其增加到资源文件夹中。然后,咱们能够运用setTypeface()办法在TextView上以编程办法设置字体。咱们还能够在XML中运用android:fontFamily特点设置字体。需求注意的是,fontFamily办法只能运用系统预设的字体并且仅对英文字符有用,假如TextView的文本内容是中文的话这个特点设置后将不会有任何作用。

以下是 Android TextView 自定义字体的代码示例:

  1. 将字体文件增加到 assets 或 res/font 文件夹中。
  2. 经过以下代码设置字体:
// 字体文件放到 assets 文件夹的状况
Typeface tf = Typeface.createFromAsset(getAssets(), "fonts/myfont.ttf");
TextView tv = findViewById(R.id.tv);
tv.setTypeface(tf);
// 字体文件放到 res/font 文件夹的状况, 需注意的是此办法在部分低于 Android 8.0 的设备上可能会存在兼容性问题
val tv = findViewById<TextView>(R.id.tv)
val typeface = ResourcesCompat.getFont(this, R.font.myfont)
tv.typeface = typeface

在上面的示例中,咱们首先从 assets 文件夹中创立了一个新的 Typeface 目标。然后,咱们运用 setTypeface() 办法将该目标设置为 TextView 的字体。

在上面的示例中,咱们将字体文件命名为 “myfont.ttf”。咱们能够将其替换为要运用的任何字体文件的称号。

自定义字体是 TextView 的强大功用之一,它能够协助咱们创立具有共同外观和感觉的应用程序。别的,咱们也能够经过这种办法完成自定义图标的制作。

AutoLink

AutoLink 能够自动检测文本中的形式并将其转换为可点击的链接。例如,假如 TextView 包括电子邮件地址或 URL,则 AutoLink 将辨认它并使其可点击。此功用使开发人员无需手动创立文本中的可点击链接。

要在 TextView 上启用 AutoLink,您需求将autoLink特点设置为emailphoneweball。您还能够运用Linkify类设置自定义链接形式。

以下是一个Android TextView AutoLink代码运用示例:

<TextView
    android:id="@+id/tv3"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:autoLink="web"
    android:textColorLink="@android:color/holo_red_dark"
    android:text="这是我的个人博客地址: www.geektang.cn" />

在上面的示例中,咱们将 autoLink 特点设置为 web ,这意味着 TextView 将自动检测文本中的 URL 并将其转换为可点击的链接。咱们还将 text 特点将文本设置为 这是我的个人博客地址: www.geektang.cn 。当用户单击链接时,它们将被带到 www.geektang.cn 网站。别的,咱们也能够经过 textColorLink 特点将 Link 色彩为咱们喜欢的色彩。

AutoLink是一个十分有用的功用,它能够协助您更轻松地创立可交互的文本。

对齐形式

对齐形式允许您经过在单词之间增加空格将文本对齐到左右边距,这使得文本更易读且视觉上更具吸引力。您能够将对齐形式特点设置为 inter_wordinter_character

要运用对齐形式功用,您需求在 TextView 上设置 justificationMode 特点。可是,此功用仅适用于运行 Android 8.0(API 级别 26)或更高版别的设备。

以下是对齐形式功用的代码示例:

<TextView
    android:id="@+id/text_view"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="This is some sample text that will be justified."
    android:justificationMode="inter_word"/>

在上面的示例中,咱们将 justificationMode 特点设置为 inter_word 。这意味着 TextView 将在单词之间增加空格,以便将文本对齐到左右边距。

以下是对齐形式功用的显现作用示例:

Android TextView中那些冷门好用的用法
同样一段文本,上面的设置 justificationMode 为 inter_word ,是不是看起来会比下面的好看一些呢?这个特点一般用于多行英文文本,假如只要一行文本或许文本内容是纯中文字符的话,不会有任何作用。