<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/frameLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/background_gradient" >
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center" >
<ImageButton
android:id="@+id/buttonLog"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/log"
android:onClick="log" />
</RelativeLayout>
</FrameLayout>
我期待我的按钮出现在屏幕中央。但是,它出现在屏幕的 TOP 中心(即按钮水平居中,而不是垂直居中)。
在我看来,RelativeLayout 的行为就像是用“wrap_content”而不是“fill_parent”定义的。
有趣的是,如果我为我的 RelativeLayout 高度属性 (android:layout_height) 赋予一个实际值,例如:
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="100dp"
android:gravity="center" >
然后按钮行为正确(即按钮也垂直居中)。但我不想使用实际值。我想使用fill_parent!为什么它不适用于“fill_parent”?
有人知道发生了什么吗?
先感谢您!