FrameLayout是所有的Layout裡最單純的一個,在FrameLayout裡面假設有一個以上的元件,則會以在最上層的元件為主,假若有數個元件,其大小皆相同,此時只會看到第一個元件,其他元件會被蓋在下面,而無法顯現在畫面中;若是不同大小的元件,則會看到由下到上的元件。
小試身手之小範例:
此範例在FrameLayout中使用了三個<EditView>元件,最下層的<EditText>元件內含 ”That is a very beautiful building. ” 中間層的<EditText>元件內含 ”That is a very beautiful ”,最上層的<EditText>元件內含 “That is a ”,範例中,越上層的<EditText>越短,所以就會看到如下圖的顯示方式。
res/layout/main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<FrameLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
>
<!-- 最底層的元件 -->
<EditText
android:text="That is a very beautiful building"
android:id="@+id/EditText01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<!-- 中層的元件 -->
<EditText
android:text="That is a very beautiful"
android:id="@+id/EditText02"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<!-- 最上層的元件 -->
<EditText
android:text="That is a"
android:id="@+id/EditText03"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
</FrameLayout>
</LinearLayout>