我是靠谱客的博主 传统御姐,最近开发中收集的这篇文章主要介绍Android之textview怎么显示不同的字体,颜色,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

在同一个TextView中,若要显示不同样式的字体,一般使用以下两种方式,一种是利用Html,另一种借助于Spannable类。

一、利用html显示不同样式的字体

@Override
    public void onActivityCreated(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onActivityCreated(savedInstanceState);
        TextView txt_main=(TextView) view.findViewById(R.id.text_one);
        TextView txt_two=(TextView) view.findViewById(R.id.text_two);
        String html = "<p><strong>你是小强吗?</strong></p>"
                + "<p><a href="http://www.panxiecan.cn">博客</a>超链接</p><p><font color="#aabb00">颜色1"
                + "</p><p><font color="#00bbaa">颜色2</p><h1>标题1</h1><h6>标题2</h6><p>2>1</p><p>"
                ;
        txt_main.setText(Html.fromHtml(html));

二、利用Spannable显示不同样式字体

// 利用Spannable使“新的来电”和时间同时显示,并且可以分行、以不同的字体大小显示
                String allString = "少爷电话n2016年12月13日";
                Spannable WordtoSpan = new SpannableString(allString);
                WordtoSpan.setSpan(new AbsoluteSizeSpan(28), 0, 6,
                        Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
                WordtoSpan.setSpan(new AbsoluteSizeSpan(15), 5, allString.length(),
                        Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

                txt_two.setText(WordtoSpan);

这里写图片描述
解:
1、需要先将普通的String型数据转换成Spannable对象;

2、利用Spannable的setSpan()函数设置显示样式。该函数第一个参数表示设置样式,如这里的new AbsoluteSizeSpan(58)是设置字体的字号为58。第二个和第三个参数分别表示起止字符,如(new AbsoluteSizeSpan(58), 0, 4,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE)表示从第一个到第四个字符字号设置为58。第四个参数自己查。

最后

以上就是传统御姐为你收集整理的Android之textview怎么显示不同的字体,颜色的全部内容,希望文章能够帮你解决Android之textview怎么显示不同的字体,颜色所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(80)

评论列表共有 0 条评论

立即
投稿
返回
顶部