Android UI控件基础篇Ⅰ TextView

Android 控件长度单位详解

首先,在讲TextView之前,我们先了解一下Android控件中的长度单位。在Android开发过程中,我们经常使用到长度单位,最常见的就是dp和sp了,但是除了这两个单位之外,还有px,in,pt,mm,接下来就看一下它们的含义吧。

dp(与密度无关的像素):逻辑长度单位,在 160 dpi 屏幕上,1dp=1px=1/160英寸。随着密度变化,对应的像素数量也变化,但并没有直接的变化比例。
sp(与密度和字体缩放度无关的像素):与dp类似,但是可以根据用户的字体大小首选项进行缩放。

尽量使用dp作为空间大小单位,sp作为和文字相关大小单位

px(Pixels ,像素):对应屏幕上的实际像素点。例如,320480的屏幕在横向有320个象素,在纵向有480个象素。
in(Inches ,英寸):屏幕物理长度单位。每英寸等于2.54厘米。例如,形容手机屏幕大小,经常说,3.2(英)寸、3.5(英)寸、4(英)寸就是指这个单位。这些尺寸是屏幕的对角线长度。如果手机的屏幕是3.2英寸,表示手机的屏幕(可视区域)对角线长度是3.2
2.54 = 8.128厘米。
pt(Points ,磅):屏幕物理长度单位, 表示一个点,是屏幕的物理尺寸。大小为1英寸的1/72。
mm(Millimeters ,毫米):屏幕物理长度单位。
原文地址:[https://blog.csdn.net/yao_guet/article/details/6288279]

OK,接下来进入主题!
TextView是View的直接子类,继承了View的属性和方法,我们先看看TextView的一些属性

属性 描述
android:lines 多行显示
android:marqueeRepeatLimit 跑马灯重复限制
android:maxLines 最大文本行数
android:minLines 最小文本行数
android:maxWidth 最大文本长度
android:textAllCaps 文本全部大写
android:textAppearance 基本的文字颜色,字体,大小,风格
android:lineSpacingExtra 设置行间距
android:minEms 最小系统兼容
android:maxEms 最大系统兼容
android: textStyle 设置 TextView 的文本字体
android:ellipsize 如果设置了该属性,当 TextView 中要显示的内容超过了 TextView 的长度时,会对内容进行省略,可取的值有 start、middle、end 和 marquee

接下来我们看一下TextView有什么好玩的效果,因为gif图上传不成功(我也不知道为什么),所以只能上传图片

在这里插入图片描述

代码部分

  1. 限制TextView的行数,在xml文件添加属性,行数自定义
android:maxLines="1"
  1. 省略号表示未显示出来的文字,在xml文件添加属性即可
  android:maxLines="1"
  android:ellipsize="end"
  1. 在TextView的左右上下位置添加图片
android:drawableLeft="@drawable/right"    	//左边
android:drawableRight="@drawable/right"    	//右边
android:drawableBottom="@drawable/right"		//下边
android:drawableTop="@drawable/right"		//上边
  1. 中划线,在代码中添加以下语句
//抗锯齿
tv_center.getPaint().setAntiAlias(true);
//中划线
tv_center.getPaint().setFlags(Paint.STRIKE_THRU_TEXT_FLAG);
  1. 下划线,同样在代码中添加以下语句
//抗锯齿
tv_under.getPaint().setAntiAlias(true);
//下划线
tv_under.getPaint().setFlags(Paint.UNDERLINE_TEXT_FLAG);
  1. 跑马灯效果,在xml文件中添加以下属性
android:singleLine="true"
android:ellipsize="marquee"
android:marqueeRepeatLimit="marquee_forever"
android:focusable="true"
android:focusableInTouchMode="true"

OK,TextView的一些常用用法都举例完了,如有错误,请大神指正!谢谢!

猜你喜欢

转载自blog.csdn.net/qq_41545435/article/details/84401153