如何根据图像的大小自动更改TextView的位置?

时间:2018-03-30 01:12:42

标签: android xml android-fragments layout

我的应用可以上传不同尺寸的图片。在ImageView之上,我有2个TextView,它们充当图像的顶部和底部字幕。目前发生的是无论图像是什么?高度,顶部和底部的文本视图永远不会与它们在图像上的相应位置对齐。

我想要的是我的top_text_viewbottom_text_view始终位于图片的顶端和底端,无论图像是什么?高度或宽度。

这是XML:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".TopImageFragment">
    <ImageView
        android:id="@+id/meme_image_view"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:src="@drawable/click"
        android:tag="img1"
        />
    <TextView
        android:id="@+id/top_text_view"
        android:layout_width="300dp"
        android:layout_height="wrap_content"
        android:textSize="30sp"
        android:gravity="center"
        android:layout_marginTop="10dp"
        android:layout_centerHorizontal="true"
        android:layout_alignStart="@id/meme_image_view"
        android:layout_alignEnd="@id/meme_image_view"
        android:layout_alignTop="@id/meme_image_view"
        />
    <TextView
        android:id="@+id/bottom_text_view"
        android:layout_width="300dp"
        android:layout_height="wrap_content"
        android:textSize="30sp"
        android:gravity="center"
        android:layout_marginTop="150dp"
        android:layout_centerHorizontal="true"
        android:layout_alignParentBottom="true"
        android:layout_alignStart="@id/meme_image_view"
        android:layout_alignEnd="@id/meme_image_view"
        android:layout_alignBottom="@id/meme_image_view"
        />
</RelativeLayout>

1 个答案:

答案 0 :(得分:1)

看来您基本上是对的。

如果您删除android:layout_alignBottom="@id/meme_image_view"

来自bottom_text_view,它应该可以正常工作。

这是覆盖android:layout_alignBottom="@id/meme_image_view"的必要条件