wrap_content时Android RelativeLayout出错

时间:2015-06-13 09:47:21

标签: android relativelayout

我有2个视图的相对布局。 Imageview和Textview。 textview应该与imageview具有相同的宽度,并且低于imageview。

所以我按照这个设置它们

 <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/imageView"
        android:maxWidth="50dp"
        android:minWidth="50dp"
        android:layout_centerVertical="true"
        android:layout_toRightOf=some_other_view
        android:layout_marginLeft="8dp"
        android:minHeight="10dp" />

 <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/imageView"
        android:layout_below="@+id/imageView"
        android:singleLine="true"
        android:text="stuff"
        android:textAppearance="?android:attr/textAppearanceSmall"
        android:textColor="@android:color/white"
        android:textSize="12dp"
        android:textStyle="bold"
        android:layout_marginTop="4dp"
        android:layout_alignRight="@+id/imageView"
        android:gravity="center" />

只要将relativLayout设置为fill_parent,这就可以正常工作。但是当我尝试wrap_content relativLayout的高度时,Textview会跳到imageView的顶部......我不会弄错。任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

你只需要将layout_gravity =“center_vertical”属性赋予相对布局...
尝试这个解决方案

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


 <ImageView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/imageView"
    android:maxWidth="50dp"
    android:minWidth="50dp"
    android:layout_centerVertical="true"
    android:layout_toRightOf=some_other_view
    android:layout_marginLeft="8dp"
    android:minHeight="10dp" />

 <TextView
    android:id="@+id/textView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/imageView"
    android:layout_below="@+id/imageView"
    android:singleLine="true"
    android:text="stuff"
    android:textAppearance="?android:attr/textAppearanceSmall"
    android:textColor="@android:color/white"
    android:textSize="12dp"
    android:textStyle="bold"
    android:layout_marginTop="4dp"
    android:layout_alignRight="@+id/imageView"
    android:gravity="center" />

</RelativeLayout>