web-dev-qa-db-ja.com

Html.fromHtmlを使用してTextViewにテキストを設定する

私は3つの部分でテキストを表示する必要があるため、次のように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>"));

HTMLは正しいですが、デバイスでは1行で表示されます。

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>
15
zaiff

<br>タグの使用方法は不適切です。以下を使用します。

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

<br/>ではなく</br>である必要があります。このコードをテストしましたが、期待どおりに3行が表示されます。

16
Arun George
Html.fromHtml(String source)

現在、Api-24から非推奨です。

Api-24以降、このメソッドは

Html.fromHtml(String source,int flags)

Api 24から以下のように使用できます

txtvw.setText(Html.fromHtml("<p align=right> <b> "
            + "Hi!" + " <br/> <font size=6>"
            + " How are you "+"</font> <br/>"
            + "I am fine" + "  </b> </p>"),Html.FROM_HTML_MODE_LEGACY);
2
Lins Louis

Linesタグをレイアウトに設定しますAndroid:lines = "4"

<RelativeLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
    xmlns:tools="http://schemas.Android.com/tools"
    Android:layout_width="match_parent"
    Android:layout_height="match_parent" >

    <TextView
        Android:id="@+id/text"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:layout_centerHorizontal="true"
        Android:layout_centerVertical="true"
        Android:lines="4"                
        Android:text="@string/hello_world"
        tools:context=".MainActivity" />

</RelativeLayout>

正しい "br" htmlタグを書く

 TextView text =(TextView)findViewById(R.id.text);        
        text .setText(Html.fromHtml("<p align=right> <b> "
                + "<br>" +"Hi!" + "  </br> "
                + "<br> How are you "+" </br>"
                + "<br>I am fine" + " </br> </b> </p>"));
1
Yahor10

textView.setText(Html.fromHtml(str、Html.FROM_HTML_MODE_COMPACT));

0
developerSumit