当前位置:操作系统 > 安卓/Android >>

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> 

 


摘自 殇雲的专栏

补充:移动开发 , Android ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,