android – HTML格式化字符串插入TextViews和EditText

所有,

我有一个数据库,将存储HTML标记的文本,以保留EditText中的格式信息.我使用HTML.toHtml(EditText.getText)创建此字符串.我注意到这个方法用< p>包装任何跨越文本.和< / p>.问题是当我使用方法HTML.fromHtml(HTMLFormattedString)然后使用TextView或EditText的setText方法时,在我的实际文本的末尾有两个额外的行,这是有道理的,因为这是如何段落标记适用于HTML.

我的问题是,无论如何要使textView或EditText缩小以不显示额外的空白行?最简单的方法是什么?我已经尝试过删除最后一个< p>和< / p>,但仅当用户没有使用返回键输入3个或更多新行时才有效.

解决方法:

我最终在创建并删除它的跨区文本末尾搜索空格.由于< p>,这照顾了额外的空间. &LT / p为H.并且比重写上述类以获得相同结果的时间更少.

public SpannableStringBuilder trimTrailingWhitespace(
        SpannableStringBuilder spannableString) {

    if (spannableString == null)
        return new SpannableStringBuilder("");

    int i = spannableString.length();

    // loop back to the first non-whitespace character
    while (--i >= 0 && Character.isWhitespace(spannableString.charat(i))) {
    }

    return new SpannableStringBuilder(spannableString.subSequence(0, i + 1));
}

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...