为什么我的一些观点在相对布局的底部没有正确对齐?

时间:2010-03-22 12:56:10

标签: android layout

我在使用listview中的一行内的相对布局中对齐某些视图时遇到问题。

以下是Eclipse中布局构建器的截图,我认为它应该是这样的:

alt text http://janusz.de/~janusz/eclipse.png

下一张图片来自模拟器。现在,TestTestTest视图位于顶部,覆盖了Textviews的名称和距离。

alt text http://janusz.de/~janusz/emulator.png

这是我的布局:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:padding="4dip">

<ImageView android:id="@+id/logo" android:layout_width="wrap_content"
    android:layout_height="wrap_content" android:adjustViewBounds="true"
    android:scaleType="centerInside" android:src="@drawable/icon"
    android:layout_centerVertical="true" android:layout_alignParentLeft="true"
    android:background="@color/green" />

<TextView android:id="@+id/distance" android:layout_width="wrap_content"
    android:layout_height="wrap_content" android:text="Distance"
    android:layout_alignParentRight="true" android:layout_alignParentTop="true"
    android:paddingRight="4dip" android:background="#000000" />

<TextView android:id="@+id/name" android:layout_width="fill_parent"
    style="@style/ListHeadText" android:layout_height="wrap_content"
    android:text="Name"
    android:layout_alignTop="@id/distance" android:layout_toRightOf="@id/logo"
    android:layout_toLeftOf="@id/distance" android:gravity="clip_horizontal"
    android:lines="1" android:paddingLeft="4dip" android:background="@color/red" />

<TextView android:id="@+id/number" android:layout_width="wrap_content"
    android:layout_height="wrap_content" android:text="Number"
    android:paddingRight="4dip" android:layout_alignRight="@id/distance"
    android:background="@color/darkred" android:layout_below="@id/distance" />

<TextView android:id="@+id/subcategory" android:layout_width="wrap_content"
    android:layout_height="wrap_content" android:text="Subcategory"
    android:paddingLeft="4dip" android:layout_alignLeft="@id/name"
    android:lines="1" android:gravity="clip_horizontal"
    android:layout_below="@id/distance" android:background="@color/green" />

<TextView android:id="@+id/test" android:layout_width="fill_parent"
    android:layout_height="wrap_content" android:text="TestTestTest"
    android:paddingLeft="4dip" 
    android:layout_alignParentBottom="true" android:gravity="bottom"
    android:background="@color/red" />

不应该使用align_parent_bottom将视图放在列表中单元格的底部吗?

1 个答案:

答案 0 :(得分:1)

尝试添加android:layout_alignParentLeft="true";有时如果视图无法锚定视图至少2个点,则视图无法正确显示。此外,这个RelativeLayout是否在ListView中使用?如果是这样,您可能会发现在查看时看起来有些困难。有another question有人遇到问题,其中RelativeLayout本身看起来是正确的,但是一旦它被包含在ListView的一部分中就没有了。我们没有设法弄清楚出了什么问题,所以他不得不使用嵌套的LinearLayouts。