我有一个弹出窗口,其中包含一个线性布局,其中包含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>
答案 0 :(得分:0)
尝试使用RelativeLayout
并将textview
放在imageview
下方。将top margin
添加到具有特定xxx dp的textview
,以便textview将始终显示在imageview下方,留出xxx dp的空间。
答案 1 :(得分:0)
您必须使用图像缩放类型来居中,您的图像适合图像视图而不进行拉伸。希望它可以帮助你,但我相信你的空白区已被删除
android:scaleType="centerCrop"
希望它可以帮到你