相对布局中的ImageViews和TextViews

时间:2014-01-30 09:47:55

标签: android android-layout

我想知道是否有人能解释我遇到的一个小问题。我正试图绕过RelativeLayouts,并有以下内容:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:orientation="vertical"
    android:background="#ffffff"
    android:layout_height="fill_parent" >        

            <ImageView
                android:id="@+id/newsImage"
                android:layout_width="120dp"
                android:layout_height="120dp"
                android:layout_alignParentLeft="true"
                android:background="#ffffff"  >
            </ImageView>            

            <TextView
                android:id="@+id/newsSubtitle"
                android:layout_height="fill_parent"
                android:layout_width="200dp"
                android:textColor="#0098bf"
                android:layout_centerVertical="true"
                android:layout_alignRight="@+id/newsImage"
                android:textSize="18sp">
            </TextView>  

            <TextView
                android:id="@+id/newsId"
                android:layout_height="wrap_content"
                android:layout_width="wrap_content"
                android:visibility="invisible"
                android:textSize="0sp"  >
            </TextView>     
</RelativeLayout> 

正如我在RelativeLayouts中所理解的那样,您可以使用'alignParentLeft =“true”'将子项与父项(RelativeLayout)对齐,并且可以使用alignRight =“@ + id / childId”将每个子项与其他子项对齐。这似乎与TextViews一起工作得很好,但是我无法让我的ImageViews正常运行 - 就像它们实际上似乎没有占用任何空间一样,因为TextView只是位于图像顶部而不是对齐到图像的权利。

我在这里误解了什么,或者相对于使用不同的方式对齐图像/文字组合?

2 个答案:

答案 0 :(得分:0)

使用此代码。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:orientation="vertical"
    android:background="#ffffff"
    android:layout_height="fill_parent" >        

            <ImageView
                android:id="@+id/newsImage"
                android:layout_width="120dp"
                android:layout_height="120dp"
                android:layout_alignParentLeft="true"
                android:background="#ffffff"  >
            </ImageView>  

            <TextView
                android:id="@+id/newsId"
                android:layout_height="wrap_content"
                android:layout_width="wrap_content"
                android:visibility="gone"
                android:textSize="0sp"  >
            </TextView>

            <TextView
                android:id="@+id/newsSubtitle"
                android:layout_width="200dp"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:layout_alignParentTop="true"
                android:textColor="#0098bf"
                android:textSize="18sp" />

</RelativeLayout> 

答案 1 :(得分:0)

在textview上调用android:layout_below =“@ id / idofImageView”并将图像添加到ImageView。

修改:抱歉,您希望它在右侧:android:align_toRightOf="@id/ImagevIEW"