-1

我有两个相同、大小相同的 RelativeLayout,其中包含一些文本和一个我想与右侧对齐的图像。然而,似乎有某种填充物不允许我把它放在右边,即使我从未指定过这一点。

在此处输入图像描述

这是我的代码:

<LinearLayout
    android:baselineAligned="false"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal">

    <RelativeLayout
        android:id="@+id/my_relativelayout"
        android:background="@drawable/my_background"
        android:layout_weight="1"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:gravity="right">
        <TextView
            android:id="@+id/my_textview"
            android:textAppearance="?android:attr/textAppearanceButton"
            android:layout_centerVertical="true"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content">
        </TextView>
        <ImageView
            android:id="@+id/my_imageview"
            android:layout_centerVertical="true"
            android:scaleType="center"
            android:src="@drawable/my_image"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_toRightOf="@id/my_textview">
        </ImageView>
    </RelativeLayout>

    <RelativeLayout
        ... same thing here ...>
    </RelativeLayout>

</LinearLayout>

编辑:空白空间不是另一个RelativeLayout。另一个RelativeLayout是另一个带有文本和图像的“蓝色矩形”,并且也遇到了右侧空间的问题。像这样:

在此处输入图像描述

4

5 回答 5

0

这是因为您正在使用该android:layout_toRightOf属性。这将使您当前视图的左边缘与您正在引用的视图的右边缘(my_textview)对齐。如果您希望视图的右侧与父视图的右侧匹配,请尝试android:layout_alignParentRight="true"改用。

于 2012-08-30T22:07:12.180 回答
0

试试这个布局:

    <ImageView
        android:id="@+id/my_imageview"
        android:layout_centerVertical="true"
        android:scaleType="center"
        android:src="@drawable/my_image"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:Layout_alignParentRight="true">
    <TextView
        android:id="@+id/my_textview"
        android:textAppearance="?android:attr/textAppearanceButton"
        android:layout_centerVertical="true"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toLeftOf="@id/my_imageview">
    </TextView>
于 2012-08-30T22:09:26.417 回答
0

检查您在图像视图中使用的图像的边界(在图像编辑器中)。看起来图像中有一些透明区域导致了混乱/问题。

如果这不是问题:试试这个添加属性alignParentRight="true"ImageView 而不是 对sandroid:gravity="right"不起作用RelativeLayout

于 2012-08-31T15:27:37.650 回答
0

最终奏效的解决方案是

android:paddingRight="0dip"

在每个相对布局中,奇怪的是,虽然我从未说过应该有任何填充。几天来,我一直在努力解决这个问题;谢谢各位的意见!

于 2012-08-31T21:20:22.190 回答
-1

因为您LinearLayout有一个水平布局,android:orientation="horizontal"所以该空间将被第一个旁边的任何对象占用RelativeLayout,在您的情况下,它看起来像第二个RelativeLayout

如果这没有帮助,我会尝试调整这两个相对布局的 layout_weight 和 layout_width 属性。

于 2012-08-30T22:05:37.450 回答