TextView 和 ImageView 之间的距离

Posted

技术标签:

【中文标题】TextView 和 ImageView 之间的距离【英文标题】:Distance Between TextView and ImageView 【发布时间】:2016-02-18 20:53:41 【问题描述】:

这是一个 Fragment 的布局(附加在主 Activity 上):

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_
    android:layout_
    tools:context="com.carbos.user.nameapp.Class"
    android:orientation="vertical">

    <!-- TODO: Update blank fragment layout -->
    <TextView
        style="@style/title"
        android:layout_
        android:layout_
        android:id="@+id/title"
        android:layout_alignParentTop="true"/>

    <ImageView
        android:id="@+id/image"
        android:layout_
        android:layout_
        android:layout_marginTop="0dp"
        android:layout_below="@id/title"/>

    <TextView
        android:layout_
        android:layout_
        android:id="@+id/desc"
        android:layout_below="@id/image"/>
</RelativeLayout>

但是TextView和ImageView之间的距离不是0dp,也没有@id/desc。 这是输出(例如图像和标题):

这是 Drawable 中的图像:

如何设置 TextView 和 ImageView(以及 @id/desc 的 TextView)之间的距离?我尝试了 LinearLayout,但它不起作用

【问题讨论】:

您能否在此处包含进入该 ImageView 的实际图像文件? 首先,RelativeLayout 没有orientation 属性,所以android:orientation="vertical" 在这里没用。其次,您如何/在哪里获取图像以及它的高度是多少? 你能发布你的@style/title 文件吗? 在@style/title中我只设置了Title的高度(30sp) 您可以尝试一些android:scaleType 属性并查看图像是否正确呈现(特别是android:scaleType="fitXY")(编辑:另外,您所在的代码设置图像可能有用) 【参考方案1】:

我的猜测是textview和imageview之间没有距离。您看到的间隙是图像中的空白区域。 要检查这个理论,请尝试设置 imageview 背景而不是源。

【讨论】:

不明白,ImageView有背景?我该如何设置(来自 XML)? android:background="@drawable/YOUR_IMAGE" 或者来自java imageView.setBackground(R.drawable.YOUR_IMAGE); 哦对了,ImageView的背景也是白色的,我会用scaleType【参考方案2】:

您应该尝试将 ImageView 的 ScaleType 更改为其他值。可能是CenterCrop。更多信息请见:http://developer.android.com/reference/android/widget/ImageView.ScaleType.html

【讨论】:

谢谢,这是解决方案,但使用 CenterCrop 不正确,我会使用其他的,谢谢 ;)【参考方案3】:

试试这个:

<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_
android:layout_
tools:context="com.carbos.user.nameapp.Class"
android:orientation="vertical">

<!-- TODO: Update blank fragment layout -->
<TextView
    style="@style/title"
    android:layout_
    android:layout_
    android:id="@+id/title"
    android:layout_alignParentTop="true"/>

<RelativeLayout
    android:layout_
    android:layout_>
<ImageView
    android:id="@+id/image"
    android:layout_
    android:layout_
    android:layout_below="@id/title"/>
 </RelativeLayout>

<TextView
    android:layout_
    android:layout_
    android:id="@+id/desc"
    android:layout_below="@id/image"/>
</RelativeLayout>

【讨论】:

以上是关于TextView 和 ImageView 之间的距离的主要内容,如果未能解决你的问题,请参考以下文章

ImageView显示图像顶部和底部的空白区域

android开发的textview和imageview有啥区别吗?

在 ImageView 中放置许多 TextView

android studio .xml 中 imageview 和 textView 的自动建议

ImageView 和 TextView 浮动(左/右)Android

如何在图像上添加 Imageview 和 Textview?