<?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が「fill_parent」ではなく「wrap_content」で定義されたように動作しているように見えます。
面白いことに、RelativeLayoutのheightプロパティ(android:layout_height)に実際の値を指定すると、次のようになります。
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="100dp"
android:gravity="center" >
次に、ボタンは正しく動作します(つまり、ボタンも垂直方向の中央に配置されます)。しかし、実際の値は使いたくありません。fill_parentを使用したい!「fill_parent」で動作しないのはなぜですか?
誰かが何が起こっているのか知っていますか?
前もって感謝します!