残念ながら、これを行う簡単な方法はありません。レイアウトをネストするか、実行時に行うことができます。最も簡単な方法は、レイアウトをネストすることです。
<LinearLayout
android:width="match_parent"
android:height="match_parent"
android:orientation="vertical">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/my_top_image"/>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_weight="1">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="@string/my_button_label"/>
</RelativeLayout>
</LinearLayout>
これにより、画像が上部に配置されます。その下では、 の属性layout_height=0
とlayout_weight=1
属性によりRelativeLayout
、残りのすべてのスペースが占有されます。その後、ボタンを の中央に配置できますRelativeLayout
。ボタンのパディングで遊んで、必要なサイズにすることができます。