我有两个相同大小,相同大小的RelativeLayouts,带有一些文字和一个我希望与右侧对齐的图像。然而,似乎有某种填充不允许我把它放在右边,即使我从未指定过这个。
这是我的代码:
<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是另一个带有文本和图像的“蓝色矩形”,并且还遇到了右侧空间的问题。像这样:
答案 0 :(得分:0)
这是因为您使用的是android:layout_toRightOf
属性。这会将当前视图的左边缘与您引用的视图的右边缘对齐(my_textview)。如果您希望视图的右侧与父级的右侧匹配,请尝试使用android:layout_alignParentRight="true"
。
答案 1 :(得分: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>
答案 2 :(得分:0)
检查您在图像视图中使用的图像边界(在图像编辑器中)。看起来图像中有一些透明区域导致混淆/问题。
如果不是问题:试试这个
为alignParentRight="true"
添加属性ImageView
代替
android:gravity="right"
RelativeLayout
不适用于{{1}}
答案 3 :(得分:0)
最终工作的解决方案是
android:paddingRight="0dip"
在每个RelativeLayouts中,奇怪的是,虽然我从来没有说过应该有任何填充。我一直试图在DAYS中解决这个问题。感谢大家的意见!
答案 4 :(得分:-1)
由于您的LinearLayout
具有水平布局android:orientation="horizontal"
,因此第一个RelativeLayout
旁边的任何对象都会占用该空间,在您的情况下,该对象看起来像第二个RelativeLayout
{{1}} 1}}。
如果这没有帮助,我会尝试调整这两个相对布局的layout_weight和layout_width属性。