Android 开发学习进程0.17 Android资源文件selector textview显示两种不同字体

Posted 百密一疏

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android 开发学习进程0.17 Android资源文件selector textview显示两种不同字体相关的知识,希望对你有一定的参考价值。

selector 是安卓资源文件的一种,它可以使按钮等实现不同状态下的不同UI,不用在代码中实现,而使用方式有两种,一种在color文件下 创建.xml可以使按钮等字体在不同状态下的变化,其二是在drawable中创建资源文件,可以设置背景等,下面的<shape标签可以绘制不同种图形,<gradient还可以实现渐变色的效果。

如何使一个textview显示两种不同字体的布局

对于新手来说可以使用多个textview拼接的方法,但此方法繁琐,一个textview实现有两种方法,
一是通过android支持的html来实现不同字体颜色大小,但此方法不可以精确控制字体大小,如 tv1.setText(Html.fromHtml("<font color=‘#217aff‘ ><big>abc</big></font><font color=‘#217aff‘ ><small>def</small></font>"));
另外一种方式为使用 SpannableString的方式,可以准确控制大小,同时可以把此类封装,便于使用。

SpannableString s1 = new SpannableString("asdf");
s1.setSpan(new AbsoluteSizeSpan(18, true), 0, s1.length()-2, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
s1.setSpan(new AbsoluteSizeSpan(10, true), s1.length()-2, s1.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
 //或设置颜色 s2.setSpan(new ForegroundColorSpan(Color.parseColor("#656565")), 0, 4, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
tv3.setTextColor(Color.parseColor("#217aff"));
tv3.setText(s1);

解释一下方法参数,设置字体时第一个参数为字号大小,第二个第三个是应用范围,从第0个字符开始,最后的参数为应用范围之间的交叉,或理解为范围末端是否会被包括。



以上是关于Android 开发学习进程0.17 Android资源文件selector textview显示两种不同字体的主要内容,如果未能解决你的问题,请参考以下文章

我的android学习经历32

数据结构---《大话数据结构》学习心得,定期更新---阿冬专栏!!!

Android学习笔记

Android 系统服务 - Input 事件的分发过程

安卓学习进程Android开发环境的搭建

Android开发新手常见的10个误区