【问题标题】:Attaching TextView to ImageView no matter the size of the image无论图像大小如何,都将 TextView 附加到 ImageView
【发布时间】:2016-02-18 04:44:48
【问题描述】:

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

ps 我正在使用 picasso 来调整图像的大小和比例

    <?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>

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

【问题讨论】:

  • 如果你想将 TextView 附加到 ImageView ,我认为你应该使用 Cardview

标签: android xml textview imageview


【解决方案1】:

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

【讨论】:

  • 所以我将它设置为这样的 linearlayout -imageview -realitvieview --textview --button 我将 layout_alignParentBottom 放在按钮上以将其设置到底部我将按钮放在 textview 的底部我把将整个真实布局附加到 imageview,但没有运气
  • ImageViewTextvVew 放入RelativeLayout 并添加上边距。你甚至可以删除 LinearLayout 并使用 RelativeLayout 如果你的设计没问题。
  • 我没有运气就这样做了:/
【解决方案2】:

您必须使用图像比例类型进行中心裁剪,然后您的图像适合图像视图而无需拉伸。希望它可以帮助你,但我相信你的空白已被删除

  android:scaleType="centerCrop"

希望对你有帮助

【讨论】:

  • 我刚试了一下,只是破坏了我的图片格式=/
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-09-22
  • 1970-01-01
  • 1970-01-01
  • 2011-04-16
  • 2015-01-19
  • 2013-01-23
  • 2015-11-28
相关资源
最近更新 更多