在html图像后删除多余的空格

时间:2015-11-26 05:05:06

标签: android html textview whitespace

我在html content中显示android Textview。在获取html图像时我遇到了一个奇怪的问题。在嵌入图像之后,观察到额外的空间。我尝试了以下链接中的建议:

  1. http://salman-w.blogspot.in/2012/10/remove-space-below-images-and-inline-block-elements.html

  2. Mysterious gap under image appearing

  3. Remove white space below image

  4. 但没有一项建议有效。

    我发现一件奇怪的事情是:如果我删除了tag,并添加了没有任何标记的文字,那么extra space就会消失。

    例如:

    <div class="img_dv"><div class="img_dv_content"><img id="story_image_main" style="display:block;" src="http://htmlimage.jpg" /><p class="img_dv_Caption">Photo Credit: Sample Image Caption</p></div></div>
    

    这会在图像后留出额外的空间。

    但是在下面的代码中,没有空格:

     <div class="img_dv"><div class="img_dv_content"><img id="story_image_main" style="display:block;" src="http://htmlimage.jpg" />Photo Credit: Sample Image Caption</div></div>
    

    但我有一个单独的标题样式。所以,我必须使用自定义视图,使用它可以提供额外的空间。

    我也提到了以下链接并尝试过。

    1. How to remove the top and bottom space on textview of Android
    2. 尝试了此链接中给出的解决方案。但是他们都没有工作。

      以下是我的自定义视图布局:

      <?xml version="1.0" encoding="utf-8"?>
      <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
          xmlns:app="http://schemas.android.com/apk/res-auto"
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:orientation="vertical"
          android:padding="0dp"
          android:gravity="top">
      
          <com.ndtv.core.common.util.views.HtmlTextview
              android:id="@+id/img_caption"
              android:layout_width="match_parent"
              android:layout_height="wrap_content"
              android:textColor="@color/img_caption_color"
              android:textSize="@dimen/img_caption_size"
              app:customTypeface="@string/roboto_light"
              android:padding="0dp"
              android:gravity="center|top"
              android:includeFontPadding="false"/>
      
          <View
              android:id="@+id/line_below_caption"
              android:layout_width="match_parent"
              android:layout_height="1dp"
              android:layout_marginTop="5dp"
              android:background="@color/img_caption_color"
              android:visibility="gone" />
      
      
      </LinearLayout>
      

      这就是我将文本设置为textview的方式:

        public static void createImageCaptionView(Context context, LinearLayout container, String source, Fragment fragment){
              if (context != null && container != null && fragment != null) {
                  LayoutInflater inflater=LayoutInflater.from(context);
                  View imageCaptionView=inflater.inflate(R.layout.img_caption_view, container, false);
                  HtmlTextview imgCaption= (HtmlTextview) imageCaptionView.findViewById(R.id.img_caption);
                  View lineBelowCaptiin=imageCaptionView.findViewById(R.id.line_below_caption);
                  imgCaption.setHtmlFromString(Utility.decodeString(source),context);
                  lineBelowCaptiin.setVisibility(View.VISIBLE);
                  container.addView(imageCaptionView);
      
              }
          }
      

      我在这里做错了什么?我不知道是textview问题还是html问题还是layout问题。请帮我解决这个问题。

0 个答案:

没有答案