设备上的布局重复,但在相对布局中添加图像时,在模拟器上看起来很好

时间:2012-10-16 03:57:47

标签: android android-layout android-imageview android-image

让我试着用我想要的东西清楚地解释一下。我有一个RelativeLayout,包含一个标题图像和它下面的内容。

现在,当我有一个标题图像和它下面的列表视图时,该页面正确地适合设备中的屏幕,布局不会重复。

但是当我将图像放在标题图像下方时,布局会在设备中重复出现。这意味着我可以在设备中看到2个标题图像。有些页面,我可以看到一半不应该在那里的标题图像(重复标题图像)。但是,在模拟器中,所有页面看起来都很好并且非常适合屏幕。

我尝试更改为LinearLayout,在LinearLayout,Relative Layout中的RelativeLayout,它给了我相同的结果。我希望有人能告诉我为什么会这样。 感谢。

附件是我的布局。

<?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:orientation="vertical"
android:background="@drawable/bg" >

<ImageView
android:id="@+id/header"
android:contentDescription="@string/image"
android:src= "@drawable/header"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:scaleType="centerCrop"/>

<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:orientation="vertical" >

<ImageView
android:id="@+id/journal"
android:layout_width="150dp"
android:layout_height="150dp"
android:layout_alignTop="@+id/kick"
android:adjustViewBounds="true"
android:contentDescription="@string/image"
android:padding="10dp"
android:src="@drawable/favourite_journal" />

<ImageView
android:id="@+id/kick"
android:layout_width="150dp"
android:layout_height="150dp"
android:layout_toRightOf="@+id/journal"
android:layout_below="@+id/header"
android:adjustViewBounds="true"
android:contentDescription="@string/image"
android:padding="10dp"
android:src="@drawable/favourite_kick" />

<ImageView
android:id="@+id/labour"
android:layout_width="150dp"
android:layout_height="150dp"
android:layout_below="@+id/journal"
android:layout_alignLeft="@+id/journal"
android:adjustViewBounds="true"
android:contentDescription="@string/image"
android:padding="10dp"
android:src="@drawable/favourite_labour" />

<ImageView
android:id="@+id/share"
android:layout_width="150dp"
android:layout_height="150dp"
android:layout_below="@+id/kick"
android:layout_alignLeft="@+id/kick"
android:adjustViewBounds="true"
android:contentDescription="@string/image"
android:padding="10dp"
android:src="@drawable/favourite_share" />
</RelativeLayout>
</RelativeLayout>

1 个答案:

答案 0 :(得分:3)

我设法解决了这个问题。 我必须将内部RelativeLayout的layout_width和layout_height设置为fill_parent。

<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_below="@+id/header"    
android:orientation="vertical">

感谢@Ziteng Chen暗示我担任这个职位。

android:layout_below="@+id/header"  

以及@BobbiHoddi建议您删除adjustViewBounds。它帮助了我在我的图像中遇到的其他错误。

android:adjustViewBounds="true"