38

私はこれを持っていますTextView

<TextView
    android:id="@+id/issue_journal_item_notes"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/issue_journal_item_details"
    android:layout_below="@+id/issue_journal_item_details"
    android:background="@drawable/journal_item_notes_background"
    android:padding="8dp"
    android:text="issue_journal_item_notes"
    android:textIsSelectable="true" />

私はこれを埋めています:

String html = "<p>Hi,<br/>Do you think you could get a logcat during the crash? That seems really strange, especially the fact that it makes Android reboot.<br/>You can get the SDK here: http://developer.android.com/sdk/index.html<br/>(needed for logcat)</p>";
theTextView.setText(Html.fromHtml(html));

これにより、次の結果が得られます。

結果のスクリーンショット

「Assignee ...」は別のTextView.
TextViewは灰色の背景を持つものです。その境界は非常に薄い灰色ではっきりと見えます。左側の暗い灰色のバーは背景の一部であるため、TextView

8 dp の正方形のパディングがはっきりとわかります。しかし、一番下の空きスペースは何ですか?これはある種のパディングですが、XML でもコードでも設定していません。

上のスクリーンショットとは異なり、コンテンツに HTML コンテンツ ( 、、など)が含まれている可能性があるため、HTML サポートが必要です。<pre><i><b>

4

8 に答える 8

8

Html.fromHtml(html)を返すSpannableので、これを呼び出して文字列に変換し、toString()次にtrim文字列を設定してからtextview

String html = "<p>Hi,<br/>Do you think you could get a logcat during the crash? That seems really strange, especially the fact that it makes Android reboot.<br/>You can get the SDK here: http://developer.android.com/sdk/index.html<br/>(needed for logcat)</p>";
theTextView.setText(Html.fromHtml(html).toString().trim());
于 2016-12-02T13:40:38.800 に答える
0

https://stackoverflow.com/a/16745540/2761728\nは、Android がhtml タグの最後に余分なものを追加することを示しています。答えは、コンテンツの最後にある不要なものをトリミングする方法を示していますが、 Android の各タグ間の挿入\nは削除されません。\n

私の場合、次の html コンテンツがあります。

<p>This is the first paragraph.</p><p>And this is second paragraph.</p>

の後Html.fromHtml、テキストは

This is the first paragraph. 


And this is second paragraph. 


いくつかの方法を試してみたところ、提供さ\nれたフラグで回避できることがわかりましたHtml。コードを組み合わせてtrim、このソリューションを作成します。

trimLastBreak(HtmlCompat.fromHtml(htmlContent, FROM_HTML_SEPARATOR_LINE_BREAK_PARAGRAPH))

結果は完璧です。

This is the first paragraph.
And this is second paragraph.
于 2020-05-21T02:33:12.447 に答える