9

我是 android 开发的初学者,我正在尝试创建一个包含不同布局的水平滚动视图。

我面临的错误是:水平滚动视图只能容纳一个直接的孩子。请提前告知谢谢

<HorizontalScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tool"
        android:id="@+id/horizontalScrollView1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:fillViewport="true" >

         <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
            android:orientation="horizontal"
            android:background="#ff0000">

            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="fill_parent"
                android:orientation="horizontal"
                android:background="#ff0000">

            </LinearLayout>

            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="fill_parent"
                android:orientation="horizontal"
                android:background="#00ff00">

            </LinearLayout>

        </LinearLayout>

    </HorizontalScrollView>
4

2 回答 2

11

不仅水平而且任何垂直滚动视图也会给出这个错误。该错误意味着滚动视图应该只有一个孩子,并且该孩子可以包含任意数量的子孩子。

所以底线是 thios 你应该只让一个直接的孩子来滚动视图,并在那个孩子中只做你的布局

  <HorizontalScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tool"
    android:id="@+id/horizontalScrollView1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:fillViewport="true" >

     <LinearLayout

        android:id="@+id/directchild"
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:orientation="horizontal"
        android:background="#ff0000">

    </LinearLayout>

</HorizontalScrollView>

现在在 directchild 布局中创建您想要的布局。然后您不会收到任何错误

于 2012-10-15T17:27:13.327 回答
0

嗨,这个错误是因为 scrollview 只能在 direcxt child 上托管。采用相对或线性布局并在其中写入所有布局

于 2020-07-21T09:32:38.330 回答