Android 无法右对齐一个图像按钮,而左对齐另一个图像按钮

Android 无法右对齐一个图像按钮,而左对齐另一个图像按钮,android,android-layout,Android,Android Layout,这是xml,我试图在其中保持一个图像按钮在右边,而在左边? 虽然我也设定了grvaity,但我不知道为什么它没有发生? 您应该使用RelativeLayout而不是LinearLayout,并将第二个ImageButton的layout\u alignParentRight属性设置为true: android:layout_alignParentRight="true" 因此,您的布局如下所示: <?xml version="1.0" encoding="utf-8"?> <

这是xml,我试图在其中保持一个图像按钮在右边,而在左边? 虽然我也设定了grvaity,但我不知道为什么它没有发生?


您应该使用
RelativeLayout
而不是
LinearLayout
,并将第二个
ImageButton
layout\u alignParentRight
属性设置为
true

android:layout_alignParentRight="true"
因此,您的布局如下所示:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout android:id="@+id/relativeLayout1" 
    android:layout_height="wrap_content" android:gravity="center_horizontal" 
    android:layout_width="fill_parent" android:layout_gravity="fill">
    <ImageButton android:layout_width="wrap_content" 
        android:id="@+id/imageButton1" 
        android:src="@drawable/arrow_button_left" 
        android:layout_height="wrap_content" />
    <ImageButton android:layout_width="wrap_content" 
        android:id="@+id/imageButton2" 
        android:src="@drawable/arrow_button_right" 
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true" />
</RelativeLayout>


您将
LinearLayout
的宽度设置为
wrap\u content
,这样它就有了一个最小的宽度,可以将按钮放在内部。这些按钮无法对齐,因为它们没有对齐空间。尝试设置
fill\u parent

如果您使用了宽度来包装内容,可能会忘记LinearLayout中的android:orientation=“horizontal”


否则,如上所述的相对布局非常适合您。

是否可以安全地假设您不希望按钮背景拉伸?是的,这是正确的假设您成功了吗?rekaszeru的RelativeLayout帖子应该已经做到了。我同意这篇帖子,只是你需要设置RelativeLayout的高度和宽度来填充父对象,你可能还想将第一个按钮设置为layout\u alignParentLeft=“true”。当然,但仅当此RelativeLayout不是
列表视图中某一行的渲染器时。我相信@Huzaifa有理由这样设置布局参数(尽管我同意您的
layout\u width=“fill\u parent”
评论)。默认情况下,RelativeLayout中的项目从上到左对齐,因此无需为第一个
ImageButton
显式设置。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout android:id="@+id/relativeLayout1" 
    android:layout_height="wrap_content" android:gravity="center_horizontal" 
    android:layout_width="fill_parent" android:layout_gravity="fill">
    <ImageButton android:layout_width="wrap_content" 
        android:id="@+id/imageButton1" 
        android:src="@drawable/arrow_button_left" 
        android:layout_height="wrap_content" />
    <ImageButton android:layout_width="wrap_content" 
        android:id="@+id/imageButton2" 
        android:src="@drawable/arrow_button_right" 
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true" />
</RelativeLayout>