Как сделать так, чтобы ImageView и TextView имели одинаковую высоту - PullRequest
7 голосов
/ 03 января 2012

Мой макет имеет 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 ]

22 голосов
/ 03 января 2012

привет, попробуй это .....

  <?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>
4 голосов
/ 03 января 2012

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

1 голос
/ 03 января 2012

Вы можете использовать различные размеры, используя

андроида: layout_width = "wrap_content"

и / или

андроида: высота = "300dp"

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

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

андроида: layout_height = "wrap_content"

android_layout:. Вес = "0.5"

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

1 голос
/ 03 января 2012

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...