如何让ImageView和TextView保持相同的高度

时间:2012-01-03 08:57:22

标签: android layout

我的布局有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 个答案:

答案 0 :(得分:22)

嗨试试这个......

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

答案 1 :(得分:4)

您必须将textview属性设置为android:layout_alignTop="@id/iv"android:layout_alignBottom="@id/iv"

答案 2 :(得分:1)

为了使其垂直居中,您需要从TextView标记中删除android:layout_alignParentTop="true"行。

然而,听起来您可能正在尝试使文本更改其大小以适合ImageView的整个高度。这显然无法解决这个问题,但我不建议首先这样做,因为它可能会产生一些奇怪的看法。

答案 3 :(得分:1)

您可以使用

来使用不同的尺寸
  

机器人:layout_width = “WRAP_CONTENT”

和/或

  

机器人:高度= “300dp”

(高度相同)。还要检查边距和填充。

如果你需要更加动态,可以考虑android:layout_weight,即让2个按钮具有相等的宽度,并填充你要设置的父视图的水平空间:

  

机器人:layout_height = “WRAP_CONTENT”

     

android_layout:权重= “0.5”

您可以点击此链接:How to make two different layout to have same height?