以下是通过两种常见方式来实现你所描述的布局效果,一种是使用 XML 布局文件结合代码动态调整,另一种是完全通过代码动态创建布局,具体如下:
一、XML 布局文件结合代码动态调整的方式
- XML 布局文件(activity_main.xml):
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/root_frame_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:id="@+id/first_linear_layout"
android:layout_width="match_parent"
android:layout_height="100dp"
android:orientation="horizontal"
android:background="@android:color/black">
</LinearLayout>
<LinearLayout
android:id="@+id/second_linear_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="100dp"
android:background="@android:color/red">
</LinearLayout>
</FrameLayout>
在上述 XML 文件中:
- 外层的
FrameLayout
作为根布局,其layout_width
和layout_height
都设置为match_parent
,会占据整个屏幕空间,并且设置了id
为@+id/root_frame_layout