无论图像大小如何,都将TextView附加到ImageView

时间:2016-02-18 04:44:49

标签: android xml textview imageview

我有一个弹出窗口,其中包含一个线性布局,其中包含imageview,textview和嵌套的按钮。现在,这样做的目的是当我点击我的图库中的图像时,弹出窗口将显示图像,谈论图像的文本和关闭窗口的按钮(该部分尚未设置)。现在问题是为了让元素显示在屏幕上我必须使用权重。因此,当我点击可能无法填充图像视图高度的图像时,它会在图像视图和文本之间留下巨大的差距,如果图片更宽,则会在图片和文本之间留下巨大的差距,如在下面的照片中看到。无论图像的尺寸如何,如何使文本始终与图像保持距离xxx dp?

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>

此图显示了图像与白色文本视图之间的巨大差距 enter image description here 这张照片显示了图像和白色textview之间的狭窄瞎扯 enter image description here

2 个答案:

答案 0 :(得分:0)

尝试使用RelativeLayout并将textview放在imageview下方。将top margin添加到具有特定xxx dp的textview,以便textview将始终显示在imageview下方,留出xxx dp的空间。

答案 1 :(得分:0)

您必须使用图像缩放类型来居中,您的图像适合图像视图而不进行拉伸。希望它可以帮助你,但我相信你的空白区已被删除

  android:scaleType="centerCrop"

希望它可以帮到你