使用Html.fromHtml在TextView中设置文本

zai*_*iff 15 android textview android-layout

我必须分三个部分显示文本,所以我使用了Html.fromHtml,如下所示:

txtvw.setText(Html.fromHtml("<p align=right> <b> "
                    + "Hi!" + " </br> <font size=6>"
                    + " How are you "+"</font> </br>"
                    + "I am fine" + "  </b> </p>"));
Run Code Online (Sandbox Code Playgroud)

HTML是正确的,但在设备中它显示在一行.

我的textview xml声明是:

   <RelativeLayout
    android:id="@+id/Home"
    android:layout_width="fill_parent"
    android:layout_height="60dp"
    android:background="@drawable/transparentfooter"
    android:layout_above="@+id/bottombar" >


     <TextView 
    android:id="@+id/txt"
    android:layout_width="wrap_content"
    android:layout_height="fill_parent"
    android:textColor="@android:color/white"/>

    </RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

Aru*_*rge 17

您使用<br>标签的方式不合适.使用以下内容:

txtvw.setText(Html.fromHtml("<p align=right> <b> "
            + "Hi!" + " <br/> <font size=6>"
            + " How are you "+"</font> <br/>"
            + "I am fine" + "  </b> </p>"));
Run Code Online (Sandbox Code Playgroud)

它应该<br/>而不是</br> 我测试了这个代码,并按预期显示3行.

  • 似乎TextView的HTML文本不支持对齐。您可以尝试以下链接中的一些技巧,以使您的定位一致。我建议最好的方法是使用“重力”。尝试使用“ txtvw.setGravity(Gravity.RIGHT)”。检查以下链接:http://stackoverflow.com/questions/3874999/alignment-in-html-fromhtml和http://stackoverflow.com/questions/3235131/set-textview-text-from-html-formatted-string -resource-in-xml (2认同)