嵌套的LinearLayout无法在scrollview中工作

时间:2015-11-26 07:21:06

标签: android

我遇到的问题是我的ui-router滚动中有嵌套Compose.xml但是当我运行应用程序滚动时无效:

LinearLayout

4 个答案:

答案 0 :(得分:3)

它已在我的设备Moto X2中滚动 您的代码没有错误,但加载时间太长。您可以在下面的屏幕截图中看到右侧的滚动条。

You can see scrollbar at right side in screenshot

所以不要在没有需要的情况下使用太多布局。更多布局将花费更多时间来加载数据。您还可以使用单线性布局并将所有按钮放入该布局

您可以像这样编写代码:

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/scrollView1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:fillViewport="true" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:fillViewport="true"
        android:orientation="vertical" >

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    </LinearLayout>
</ScrollView>

答案 1 :(得分:2)

首先,为什么你需要那么多的linearLayouts? 尝试使用一个嵌套的LinearLayout并将所有按钮一个接一个地放入其中。这是伪代码。

<ScrollView>
<LinearLayout>
<Button/>
<Button/>
...
<Button/>
</LinearLayout>
</Scrollview>

此外,如果它无效,请尝试删除此

android:fillViewport="true"

答案 2 :(得分:0)

试试这种方式

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/scrollView1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:fillViewport="true" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:fillViewport="true"
        android:orientation="vertical" >



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


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


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


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


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


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

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


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

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

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


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


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


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


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

    </LinearLayout>
</ScrollView>

答案 3 :(得分:-1)

ScrollView只能有一个孩子。您可以将这些布局放在一个线性布局中,然后滚动视图就可以了。

有关详细信息,请阅读android documentation