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

【Android 开发学习进程0.17Android资源文件selectortextview显示两种不同字体】金鞍玉勒寻芳客,未信我庐别有春。这篇文章主要讲述Android 开发学习进程0.17Android资源文件selectortextview显示两种不同字体相关的知识,希望能为你提供帮助。
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个字符开始,最后的参数为应用范围之间的交叉,或理解为范围末端是否会被包括。



    推荐阅读