Android: 如何在LinearLayout中居中ImageButton?

6
我该如何将ImageButton居中在这个LinearLayout中?
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/main"
>

图像按钮

              <ImageButton android:id="@+id/btnBut"
                      android:background="@drawable/button"
                      android:layout_width="wrap_content"
                      android:layout_height="wrap_content" />

我不想使用固定大小。
谢谢。
3个回答

12
使用 android:layout_gravity 属性:
 <ImageButton android:id="@+id/btnBut"
    android:background="@drawable/button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center" />

我尝试使用这个,但是ImageButton只能水平居中,我想让它在屏幕中央。你能帮我吗?谢谢。 - Jovan
你能发布整个布局吗? - Konstantin Burov
1
我使用RelativeLayout和android:layout_centerInParent="true"修复了这个问题。 - Jovan

5
以下代码适用于我:
```html

以下代码适用于我:

```
 <LinearLayout
  android:layout_width="fill_parent"
  android:layout_height="wrap_content"
  android:orientation="horizontal"
  android:layout_alignParentBottom="true"
  android:gravity="center_horizontal"
 >
  <ImageButton
   android:id="@+id/btnBut"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:src="@drawable/button"
   >
  </ImageButton>
 </LinearLayout>

0
如果你想在LinearLayout中居中内容,你必须设置android:orientation="vertical"。在android:orientation="horizontal"中谈论居中是无用的。我想你现在明白原因了。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接