Android TextView冷门实用方法技巧
作者:GeekTR 发布时间:2021-07-07 03:57:17
介绍
TextView 是 Android 开发中最常用的小部件之一。它用于在屏幕上显示文本。但是,TextView 有几个较少为人知的功能,对开发人员非常有用。在本博客文章中,我们将探讨其中的一些功能。
自定义字体
默认情况下,TextView 使用系统字体显示文本。但其实我们也可以导入我们自己的字体文件在 TextView 中使用自定义字体。这可以通过将字体文件添加到资源文件夹(res/font 或者 assets)并在 TextView 上以编程方式设置来实现。
要使用自定义字体,我们需要下载字体文件(或者自己生成)并将其添加到资源文件夹中。然后,我们可以使用setTypeface()
方法在TextView上以编程方式设置字体。我们还可以在XML中使用android:fontFamily
属性设置字体。需要注意的是,fontFamily方式只能使用系统预设的字体并且仅对英文字符有效,如果TextView的文本内容是中文的话这个属性设置后将不会有任何效果。
以下是 Android TextView 自定义字体的代码示例:
将字体文件添加到 assets 或 res/font 文件夹中。
通过以下代码设置字体:
// 字体文件放到 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 将识别它并使其可点击。此功能使开发人员无需手动创建文本中的可点击链接。
您可以通过将 autoLink
属性设置为 email
,phone
,web
或 all
来在 TextView 上启用 AutoLink 。您还可以使用 Linkify
类设置自定义链接模式。
AutoLink 是一个功能,它自动检测文本中的模式并将其转换为可点击的链接。例如,如果 TextView 包含电子邮件地址或 URL,则 AutoLink 将识别它并使其可点击。此功能使开发人员无需手动创建文本中的可点击链接。
要在 TextView 上启用 AutoLink,您需要将autoLink
属性设置为email
,phone
,web
或all
。您还可以使用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_word
或 inter_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 将在单词之间添加空格,以便将文本对齐到左右边距。
以下是对齐模式功能的显示效果示例:
同样一段文本,上面的设置 justificationMode 为 inter_word ,是不是看起来会比下面的好看一些呢?这个属性一般用于多行英文文本,如果只有一行文本或者文本内容是纯中文字符的话,不会有任何效果。
来源:https://juejin.cn/post/7217082232937283645


猜你喜欢
- 一、判断一个字符串str不为空的方法有:1、str == null;2、"".equals(str);3、str.len
- Spring的创建Spring的创建分为3个步骤:1、创建一个Maven项目2、添加Spring框架支持(spring-context,sp
- 转发和重定向相同点都是web开发中资源跳转的方式。不同点转发:是服务器内部的跳转,浏览器的地址栏不会发生变化。从一个页面到另一个页面的跳转还
- @Autowired注解在抽象类中失效最近在工作中遇到这个问题,在抽象类中使用Autowired这个注解,注入mybatis的dao时,总是
- 本文实例讲述了Android编程实现的一键锁屏程序。分享给大家供大家参考,具体如下:据笔者了解,所有的Android手机都用电源键来手动锁屏
- 题目一链表题——链表合并根据给定的两个升序链表合并为一个新的升序链表具体题目如下解法/** * Definition for singly-
- Mybatis-plus官网地址:https://baomidou.com/配置mysql在配置文件连接mysqlspring.dataso
- 01.点明观点 C#中,非托管资源使用之后必须释放,而using()是使用非托管资源的最佳方式,可以确保资源在代码块结束之后被正确
- 本文实例为大家分享了android自定义imageview实现圆角图片的具体代码,供大家参考,具体内容如下自定义图片的属性,对图片进行圆角切
- ListView如何实现简单列表,供大家参考,具体内容如下效果图:啥也没干的ListView张这样:fry.Activity01packag
- 正常情况下,每个子线程完成各自的任务就可以结束了。不过有的时候,我们希望多个线程协同工作来完成某个任务,这时就涉及到了线程间通信了。本文涉及
- 起因unity程序build到pc上,拿到其他人的机器上结果有些功能不正常,看log里面大概是Fallback handler could
- java.util.Arrays类能方便地操作数组,它提供的所有方法都是静态的。静态方法是属于类的,不是属于类的对象。所以可以直接使用类名加
- 由于要在Web项目中采用RFID读取功能,所以有必要开发Activex,一般情况下开发Activex都采用VC,VB等,但对这两块不是很熟悉
- 最近几年玩得最疯狂的应该是发红包了,尤其是过年的时候特别受欢迎,下面写了红包的随机算法,其实挺简单的,仅是提供一种思路,希望可以给大家一些启
- 为了能正常输出XML格式的内容,必须要对不被XML允许的那些特殊字符进行转换。本文介绍的正是如何使用C#判断XML字符串是否含特殊字符并进行
- 继承反应了类和类之间的关系。世界上很多事物都是有共性的,共性的那一部分我们就抽象为基类,用于派生其它类,这样提高了代码的复用性,使得代码的结
- 事件基于委托,可以为任何一种委托类型提供一种发布\订阅机制。使用event关键字将一个委托类型定义为事件。下面通过一个例子介绍事件://事件
- 本文实例讲述了C#基于基姆拉尔森算法计算指定日期是星期几的方法。分享给大家供大家参考。具体分析如下:基姆拉尔森计算公式 W= (d+2*m+
- 一、项目需求二、项目思路1、菜单制作2、中奖号码生成 getNumber (随机数 Math.random)3、购买号码和中奖号码比对 生成