这是我第一次写技术相关的文章,写的不好或者不对的地方,还请各位见谅!
TextView 是Android中最基本的一个组件了,主要是为了显示文本内容的,但是在显示文本的过程中,产品总是会提出一些稀奇古怪的效果,
what?这不是没事找事嘛,显示一个文本而已 还要搞得这么复杂 丫丫个呸! 算了 废话不多说,直接敲代码了
ps:一些基本的属性这里就不介绍了 直接介绍一些不常用的了 见谅 见谅!
1.TextView设置行间距、行高,以及字间距
①android:lineSpacingExtra="8dp" 这个表示行间距的值 单位通常为dp,值可以为负数,小数和0。如果值为正数表示增加行间距;如果值为负数表示减少行间距;如果值为0,则没有变化
②android:lineSpacingMultiplier="2" 设置行间距的倍数 没有单位,值可以为任意浮点数。如果值大于1.0表示增加行间距,如果值小于1.0表示减少行间距。
java代码:setLineSpacing (float add, float mult)
第一个参数:要增加的间距数值,对应android:lineSpacingExtra
第二个参数:要增加的间距倍数,对应android:lineSpacingMultiplier
③android:textScaleX="2" TextView 并没有自带改变字间距 它是控制字体水平方向的缩放,即水平方向放大。并不是咱们所需要的字间距的放大 效果:textview 水平方向放大效果
2.TextView单行,多行显示
android:singleLine="true" 单行显示
android:lines="2" 不管多大都显示两行 会有2行的高度 -----> setLines(int lines)
android:maxLines="2" 超过两行只显示两行 只会有内容多少的高度 最多2行的高度 -----> setMaxLines(int maxlines)
android:minLines="2" 用于设置TextView最小高度为指定行高度 -----> setMinLines(int minlines)
android:ellipsize="end" 配合以上属性使用显示 ...
android:maxEms="10" 这个表示单行最多显示10个字符的宽度,超过的换行显示
android:maxLength="10",这个表示当前控件最多有10个字符,超过部分直接截取掉。注意,单个字母和单个中文都表示一个字符
3.TextView 显示下划线 斜体等效果
android:textStyle="bold" 粗体文本
android:textStyle="italic" 斜体文本
android:textStyle="italic|bold" 斜体+粗体
java代码:
txt1.getPaint().setFlags(Paint.STRIKE_THRU_TEXT_FLAG); 添加删除线,xml 未提供
txt2.getPaint().setFlags(Paint.FAKE_BOLD_TEXT_FLAG); 设置加粗
txt3.getPaint().setFlags(Paint.UNDERLINE_TEXT_FLAG); 添加下划线
txt4.setFlags(Paint.STRIKE_THRU_TEXT_FLAG | Paint.ANTI_ALIAS_FLAG); 设置中划线并加清晰
txt5.setText(Html.fromHtml(content)); 加载html代码
txt5.setText(String.valueOf(Html.fromHtml("¥"))); 显示人名币符号¥ 用户输入打出的人名币符号 由于机型差异 不同机型显示不一样
4.TextView 链接相关
android:autoLink="web" 表示自动识别文本中的链接。其属性值有 请点击 ---> setAutoLinkMask(int mask)
android:textColorLink 文本含有链接文字的颜色 -----> setLinkTextColor(int color)
android:linksClickable 链接是否可点击/点击是否执行对应动作 ----->setLinksClickable(boolean whether)
好了 暂时更新到这里 后续有新的技巧会继续添加更新中 谢谢阅读!