Как разрешить ImageView и TextView одинаковой высоты

мой макет имеет ImageView(iv) и TextView (tv). Я хочу, чтобы телевизор был справа от iv. И высота телевизора такая же, как у iv. Гравитация телевизора установлена как CENTER_VERTICAL.

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


    <ImageView
        android:id="@+id/iv"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"/>


    <TextView
        android:id="@+id/tv"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_toRightOf="@+id/iv"
        android:text="TextView" android:gravity="center_vertical"/>

</RelativeLayout>

Как достичь цели?

4 ответов


привет это попробовать .....

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

  <ImageView
    android:id="@+id/iv"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:src="@drawable/ic_title_home_demo" />

  <TextView
    android:id="@+id/tv"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBottom="@+id/iv"
    android:layout_alignTop="@+id/iv"
    android:layout_toRightOf="@+id/iv"
    android:gravity="center_vertical"
    android:text="TextView" />

   </RelativeLayout>

вы должны установить свойство textview в android:layout_alignTop="@id/iv" и android:layout_alignBottom="@id/iv"


ну, чтобы получить его в центр вертикально правильно, вам нужно будет удалить android:layout_alignParentTop="true" строка из тега TextView.

тем не менее, похоже, что вы пытаетесь изменить размер текста, чтобы соответствовать всей высоте ImageView. Это, очевидно, не решит этого, но я бы не рекомендовал делать это в первую очередь, поскольку это может привести к некоторым странным взглядам.


вы можете использовать различные размеры с помощью

для android:layout_width="wrap_content в качестве параметров"

и /или

android: высота= "300dp"

(то же самое для высоты). Также проверьте поля и прокладки.

Если вам нужно быть более динамичным, вы можете рассмотреть android: layout_weight т. е. для того, чтобы 2 кнопки имели равную ширину и заполняли горизонтальное пространство родительского представления, которое вы бы установили:

android: layout_height= "wrap_content"

android_layout:Вес="0.5".

вы можете перейти по этой ссылке:как сделать два разных макета, чтобы иметь одинаковую высоту?