在ImageView中水平居中TextView

use*_*755 1 android

如何在ImageView中水平居中TextView?目前位于ImageView的右下角.

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/imageView"
        android:background="@drawable/img" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/textView"
        android:layout_alignBottom="@+id/imageView"
        android:layout_alignRight="@+id/imageView"
        android:layout_alignEnd="@+id/imageView" />
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

小智 9

如果你希望它TextView总是适合ImageView它所在的位置,RelativeLayout你应该尝试这样:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/imageView"
        android:background="@drawable/img" />

    <TextView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/textView"
        android:text="hsjsdjhf"
        android:gravity="center"
        android:layout_alignTop="@id/imageView"
        android:layout_alignBottom="@id/imageView"
        android:layout_alignLeft="@id/imageView"
        android:layout_alignRight="@id/imageView" />
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)