Textview为Html.fromhtml占用了不需要的空间

时间:2017-01-12 04:50:58

标签: android html android-layout

案例1

下面是我用来在textview中将文本设置为Html的代码,但它占用了存在的链接的空间。虽然相同但不可见。

holder.textView.setMovementMethod(LinkMovementMethod.getInstance());
holder.textView.setText(Html.fromHtml(mDataset.get(position).getHomeScreenData().getNews().getNdata()));

Check the extra blank space here.

案例2

以下是我用于在textview中设置纯文本的代码,正如预期的那样,它占用了所需的空间。

holder.textView.setMovementMethod(LinkMovementMethod.getInstance());
holder.textView.setText(mDataset.get(position).getHomeScreenData().getNews().getNdata());

enter image description here

我想删除隐形链接占用的额外空间。我怎么能这样做。

修改1

我对TextView的XML声明,

<TextView
            android:padding="10sp"
            android:textSize="18sp"
            android:text="Here goes the latest NEWS!"
            android:textColor="@android:color/white"
            android:id="@+id/info_text"
            android:layout_width="match_parent"
            android:layout_height="match_parent" />

2 个答案:

答案 0 :(得分:1)

使用这种方式,您trim string data可以移除额外的空间并适合布局。

CharSequence trimmed = trim(Html.fromHtml(mDataset.get(position).getHomeScreenData().getNews().getNdata()));
holder.textView.setText(trimmed);
holder.textView.setClickable(true);
holder.textView.setMovementMethod(LinkMovementMethod.getInstance());

答案 1 :(得分:1)

您可以使用以下代码删除textview之间的空格

holder.textView.setMovementMethod(LinkMovementMethod.getInstance());
holder.textView.setText(mDataset.get(position).getHomeScreenData().getNews().getNdata().trim());