内层使用RelativeLayout即可实现,外层使用FrameLayout用于整体的布局。
代码如下:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
>
<!-- 左上按钮 -->
<Button
android:id="@+id/btn_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/btn_1"
/>
<!-- 居中按钮 -->
<Button
android:id="@+id/btn_3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/btn_3"
android:layout_toRightOf="@id/btn_1"
android:layout_below="@id/btn_1"
/>
<!-- 左下按钮 -->
<Button
android:id="@+id/btn_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/btn_2"
android:layout_below="@id/btn_3"
/>
<!-- 右上按钮 -->
<Button
android:id="@+id/btn_4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/btn_4"
android:layout_toRightOf="@id/btn_3"
/>
<!-- 右下按钮 -->
<Button
android:id="@+id/btn_5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/btn_5"
android:layout_toRightOf="@id/btn_3"
android:layout_below="@id/btn_3"
/>
</RelativeLayout>
</FrameLayout>
效果如下: