Android在TextView中实现RichText风格

Posted 小妖

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android在TextView中实现RichText风格相关的知识,希望对你有一定的参考价值。

参考:

Android实战技巧:用TextView实现Rich Text---在同一个TextView中设置不同的字体风格

Demo:

    private SpannableStringBuilder content = new SpannableStringBuilder();
    private static final ForegroundColorSpan STYLE_ERROR = new ForegroundColorSpan(Color.RED);
    private static final ForegroundColorSpan STYLE_INFO = new ForegroundColorSpan(Color.BLACK);
    private int start = 0;
    private int end = 0;

    public void appendLog(String msg,int type){
        TextView logView  = (TextView)findViewById(R.id.logView);

        content.append(msg);
        start = end;
        end += msg.length();
        switch (type){
            case Log.TYPE_ERROR:
                content.setSpan(STYLE_ERROR,start,end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
                break;
            case Log.TYPE_INFO:
                content.setSpan(STYLE_INFO,start,end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
                break;
            default:
                break;
        }
        if(logView!=null){
            logView.setText(content);
           
            //scroll to the end
            int offset = logView.getLineCount() * logView.getLineHeight();
            if(offset > logView.getHeight()){
                logView.scrollTo(0,offset - logView.getHeight());
            }
        }
    }

 

以上是关于Android在TextView中实现RichText风格的主要内容,如果未能解决你的问题,请参考以下文章

如何在android中实现TextView中的文字逐一显示

Android中实现TextView垂直滚动,像跑马灯那样,但是垂直的

Android Studio 如何在 LinearLayout 元素中实现锚链接?

Android中实现跨app之间数据的暴露与接收

在TextView文本中实现activity跳转

在 UITableView 中实现动态增长的 TextView