Android中ScrollView隻能添加一個子控件

有下面一段代碼

[html] <?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical" > 
 
    <ScrollView 
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent" > 
 
        <Button 
            android:layout_width="fill_parent" 
            android:layout_height="wrap_content" /> 
 
        <Button 
            android:layout_width="fill_parent" 
            android:layout_height="wrap_content" /> 
 
        <Button 
            android:layout_width="fill_parent" 
            android:layout_height="wrap_content" /> 
    </ScrollView> 
 
</LinearLayout> 
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <ScrollView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" >

        <Button
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" />

        <Button
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" />

        <Button
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" />
    </ScrollView>

</LinearLayout>一個ScrollView裡面添加瞭三個Button,也許你認為沒有什麼問題,那麼我們運行一下看看

出現瞭一個異常


很明顯,異常告訴我們ScrollView can host only one direct child

既然說隻能容納一個直接的子控件,那麼我們就可以容納多個間接的子控件,直接在這些子控件外面再套一層LinearLayout就OK瞭

[html] <?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical" > 
 
    <ScrollView 
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent" > 
 
        <LinearLayout 
            android:layout_width="fill_parent" 
            android:layout_height="fill_parent" 
            android:orientation="vertical" > 
 
            <Button 
                android:layout_width="fill_parent" 
                android:layout_height="wrap_content" /> 
 
            <Button 
                android:layout_width="fill_parent" 
                android:layout_height="wrap_content" /> 
 
            <Button 
                android:layout_width="fill_parent" 
                android:layout_height="wrap_content" /> 
        </LinearLayout> 
    </ScrollView> 
 
</LinearLayout> 

 

摘自 殤雲的專欄

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *