繁体   English   中英

Android FlowTextView中的HTML视图

[英]HTML View in Android FlowTextView

我已经从https://github.com/使用FlowTextView库。 但是我的问题是,当我从HTML显示内容时,它无法正确显示。

<html>
<body>

<h2>Unordered List with Default Bullets</h2>

<ul>
  <li>Coffee</li>
  <li>Tea</li>
  <li>Milk</li>
</ul>  

</body>
</html>

上面的标签是我的输入,因此我必须在下面输入

具有默认项目符号的无序列表

  • 咖啡
  • 牛奶

但是我知道了。

具有默认项目符号的无序列表CoffeeTeaMilk

这是我的Android代码

Spanned html = Html.fromHtml(content); flowTextView.setText(html);

请帮助我摆脱这一阶段。

您可以使用TagHandler进行操作

myTextView.setText(Html.fromHtml("<html><body><ul><li>....</li></ul></body></html>", null, new MyTagHandler()));

使用下面的MyTagHandler类作为参考.....您可以根据需要对其进行自定义。

public class MyTagHandler implements TagHandler{

boolean first= true;
String parent=null;
int index=1;

@Override
public void handleTag(boolean opening, String tag, Editable output,
        XMLReader xmlReader) {

    if(tag.equals("ul")) parent="ul";
    else if(tag.equals("ol")) parent="ol";
    if(tag.equals("li")){
        if(parent.equals("ul")){
            if(first){
                output.append("\n\t•");
                first= false;
            }else{
                first = true;
            }
        }
        else{
            if(first){
                output.append("\n\t"+index+". ");
                first= false;
                index++;
            }else{
                first = true;
            }
        }   
    }
}
}

FlowTextView库具有缺点。 无需执行Html.fromHtml-该库会为您执行此操作。 视图本身是RelativeLayout,它们使用onDraw方法将您的文本放在此处。 这就是为什么文本看起来不好,链接不可单击以及其他问题的原因。

我建议移至标准TextView并使用Spans创建所需的所有内容。 您的链接将是可单击的,项目符号,文本样式等都有特殊的跨度。 这是用于文本样式的本地android机制。 这可能有用http://flavienlaurent.com/blog/2014/01/31/spans/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM