Android 将TextView附加到ImageView,而不管图像大小

Android 将TextView附加到ImageView,而不管图像大小,android,xml,textview,imageview,Android,Xml,Textview,Imageview,我有一个弹出窗口,由线性布局组成,其中包含imageview、textview和嵌套的按钮。现在,这样做的目的是,当我点击我的图库中的图像时,弹出窗口将显示图像、谈论图像的文本和关闭窗口的按钮(该部分尚未设置)。现在的问题是为了让元素显示在屏幕上,我不得不使用权重。因此,当我在图像中单击可能无法填充imageview高度的大小时,它会在imageview和文本之间留下巨大的间隙,如果图片更宽,则会在图片和文本之间留下巨大的间隙,如下图所示。如何使文本始终远离图像而不考虑图像的尺寸 ps我正在使用

我有一个弹出窗口,由线性布局组成,其中包含imageview、textview和嵌套的按钮。现在,这样做的目的是,当我点击我的图库中的图像时,弹出窗口将显示图像、谈论图像的文本和关闭窗口的按钮(该部分尚未设置)。现在的问题是为了让元素显示在屏幕上,我不得不使用权重。因此,当我在图像中单击可能无法填充imageview高度的大小时,它会在imageview和文本之间留下巨大的间隙,如果图片更宽,则会在图片和文本之间留下巨大的间隙,如下图所示。如何使文本始终远离图像而不考虑图像的尺寸

ps我正在使用毕加索调整和缩放我的图像

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:background="@drawable/popup_borders"
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/background_container"
        android:layout_gravity="center_horizontal|center_vertical"
        android:gravity="center_horizontal|center_vertical"

        >

        <ImageView
            android:id="@+id/background_image"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:paddingTop="10dp"
            android:paddingBottom="10dp"
            android:paddingLeft="10dp"
            android:paddingRight="10dp"
            android:layout_gravity="center_horizontal"
            android:gravity="center_horizontal"
            android:background="@android:color/transparent"
            android:layout_weight="0.7"
            android:adjustViewBounds="true"
            />


        <TextView
            android:paddingBottom="25dp"
            android:paddingLeft="10dp"
            android:paddingRight="10dp"
            android:id="@+id/background_text"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:gravity="center_horizontal"
            android:layout_weight="0.2"
            android:text="this is a sample of this files information"
            android:textColor="#ffffff"
            android:background="#ffffff"
            />

        <Button
            android:id="@+id/background_btn"
            android:layout_width="wrap_content"
            android:layout_height="0dp"
            android:layout_weight="0.1"
            android:text="Close"
            android:gravity="center_horizontal"
            android:paddingBottom="10dp"
            android:textAlignment="center"
            android:layout_gravity="center_horizontal|center_vertical"
            />



    </LinearLayout>

这张图片显示了图像和白色文本视图之间的巨大差距 此图显示了图像和白色文本视图之间的狭长间隙

尝试使用
相对视图
并将
文本视图
放在
图像视图
下方。使用特定的xxx dp将
上边距
添加到
textview
,这样textview将始终显示在imageview下方,留出xxx dp的空间。

您必须使用image scaletype进行中心裁剪,使图像适合imageview而无需拉伸。希望它可以帮助您,但我相信您的空白已被删除

  android:scaleType="centerCrop"

希望它可以帮助您

如果您想将TextView附加到ImageView,我想你应该使用CardView我刚试过,打破了我的图片格式=/所以我把它设置成这样linearlayout-imageview-realitvieview-textview-按钮我把布局放在按钮的底部我把按钮放在文本视图的底部我把整个真实的布局都放在imageview上,但是没有luckPut
ImageView
textvview
在RelativeLayout内部,并添加上边距。你甚至可以删除LinearLayout,只要使用RelativeLayout,如果你的设计没有问题的话。我这样做是不走运的:/