Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/205.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何在可滚动的RelativeLayout中启用LinearLayout中的滚动_Android - Fatal编程技术网

Android 如何在可滚动的RelativeLayout中启用LinearLayout中的滚动

Android 如何在可滚动的RelativeLayout中启用LinearLayout中的滚动,android,Android,我尝试了几种方法来实现这一点,但迄今为止没有成功。 需要主ScrollView来启用片段之间的滚动。RelativeLayout在那里,因此我们将父屏幕底部的“后退/保存/完成”按钮与所有片段对齐 现在,在我的代码中,我以编程方式将TableLayouts添加到下面的LinearLayout(我还尝试使用GridView而不是TableLayouts) 此LinearLayout不可滚动,问题是我有4个表,只有第一个表可见。如果将LinearLayout封装在ScrollView/Neste

我尝试了几种方法来实现这一点,但迄今为止没有成功。 需要主ScrollView来启用片段之间的滚动。RelativeLayout在那里,因此我们将父屏幕底部的“后退/保存/完成”按钮与所有片段对齐

现在,在我的代码中,我以编程方式将TableLayouts添加到下面的LinearLayout(我还尝试使用GridView而不是TableLayouts)



此LinearLayout不可滚动,问题是我有4个表,只有第一个表可见。如果将LinearLayout封装在ScrollView/NestedScrollView中,则主父ScrollView将被禁用

如何在主ScrollView中保持滚动,保持RelativeLayout结构,同时允许在子LinearLayout中滚动以查看其中的所有表

这是我的布局xml

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

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:padding="5dp" >

            <RadioGroup
                android:id="@+id/PageRadioGroup"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentBottom="true"
                android:layout_centerHorizontal="true"
                android:layout_marginBottom="19dp"
                android:clickable="false"
                android:orientation="horizontal" >

                <RadioButton
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:checked="true"
                    android:clickable="false" />

                <RadioButton
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:clickable="false" />

                <RadioButton
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:clickable="false" />
            </RadioGroup>

            <android.support.v4.view.ViewPager
                android:layout_width="match_parent"
                android:layout_height="349dp"
                android:layout_above="@+id/PageRadioGroup"
                android:layout_alignParentStart="true"
                android:layout_alignParentTop="true"
                android:focusableInTouchMode="true" >
            </android.support.v4.view.ViewPager>

            <Button
                android:id="@+id/btnBack"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentBottom="true"
                android:layout_alignParentStart="true"
                android:text="@string/back"
                android:textAllCaps="false" />

            <Button
                android:id="@+id/btnSave"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentBottom="true"
                android:layout_alignParentEnd="true"
                android:text="@string/save"
                android:textAllCaps="false"/>

            <Button
                android:id="@+id/btnDone"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentBottom="true"
                android:layout_alignParentEnd="true"
                android:layout_alignStart="@+id/btnSave"
                android:text="@string/done"
                android:textAllCaps="false" />

            <LinearLayout
                android:id="@+id/layout"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_above="@+id/PageRadioGroup"
                android:layout_alignParentTop="true"
                android:layout_marginTop="3dp"
                android:orientation="vertical" >
            </LinearLayout>
        </RelativeLayout>

    </ScrollView>


谢谢

我成功地实现了我想要的。下面是更新的布局xml。我认为主要的修复方法是将ViewPager的高度更改为包裹内容。然后,我在LinearLayout中添加了一个NestedScrollView。这些表通过android:id=“@+id/Layout”以编程方式添加到LinearLayout



将垂直滚动容器放在垂直滚动容器中不是一个好方法:),但您可以尝试将android:nestedScrollingEnabled=“true”添加到您的LinearLayoutandroid:nestedScrollingEnabled=“true”不起作用。有没有一种方法可以使LinearLayout在不使用内部ScrollView的情况下可滚动?问题是:LinearLayout应该是可滚动的吗?或者是否存在布局问题?LinearLayout不可滚动。但由于事实上,我有多个视图里面是不可见的,我想它滚动。问题是我已经有了一个主ScrollView(我必须保留),添加另一个scroll容器会禁用它。我正试图找到一个解决方法,有什么建议吗?我建议修复LinearLayout高度问题,这样它就可以不滚动地显示所有儿童。你能在添加孩子的地方添加代码吗?
 <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:fillViewport="true" >

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:padding="5dp" >

            <RadioGroup
                android:id="@+id/PageRadioGroup"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentBottom="true"
                android:layout_centerHorizontal="true"
                android:layout_marginBottom="19dp"
                android:clickable="false"
                android:orientation="horizontal" >

                <RadioButton
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:checked="true"
                    android:clickable="false" />

                <RadioButton
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:clickable="false" />

                <RadioButton
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:clickable="false" />
            </RadioGroup>

            <android.support.v4.view.ViewPager
                android:layout_width="match_parent"
                android:layout_height="349dp"
                android:layout_above="@+id/PageRadioGroup"
                android:layout_alignParentStart="true"
                android:layout_alignParentTop="true"
                android:focusableInTouchMode="true" >
            </android.support.v4.view.ViewPager>

            <Button
                android:id="@+id/btnBack"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentBottom="true"
                android:layout_alignParentStart="true"
                android:text="@string/back"
                android:textAllCaps="false" />

            <Button
                android:id="@+id/btnSave"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentBottom="true"
                android:layout_alignParentEnd="true"
                android:text="@string/save"
                android:textAllCaps="false"/>

            <Button
                android:id="@+id/btnDone"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentBottom="true"
                android:layout_alignParentEnd="true"
                android:layout_alignStart="@+id/btnSave"
                android:text="@string/done"
                android:textAllCaps="false" />

            <LinearLayout
                android:id="@+id/layout"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_above="@+id/PageRadioGroup"
                android:layout_alignParentTop="true"
                android:layout_marginTop="3dp"
                android:orientation="vertical" >
            </LinearLayout>
        </RelativeLayout>

    </ScrollView>
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:fillViewport="true" >

    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:padding="5dp" >

        <RadioGroup
            android:id="@+id/PageRadioGroup"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_centerHorizontal="true"
            android:layout_marginBottom="19dp"
            android:clickable="false"
            android:orientation="horizontal" >

            <RadioButton
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:checked="true"
                android:clickable="false" />

            <RadioButton
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:clickable="false" />

            <RadioButton
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:clickable="false" />
        </RadioGroup>

        <android.support.v4.view.ViewPager
            android:id="@+id/Pager"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_above="@+id/PageRadioGroup"
            android:layout_alignParentStart="true"
            android:layout_alignParentTop="true"
            android:focusableInTouchMode="true" >
        </android.support.v4.view.ViewPager>

        <Button
            android:id="@+id/btnBack"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_alignParentStart="true"
            android:text="@string/back"
            android:textAllCaps="false"/>

        <Button
            android:id="@+id/btnSave"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_alignParentEnd="true"
            android:text="@string/save"
            android:textAllCaps="false"/>

        <Button
            android:id="@+id/btnDone"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_alignParentEnd="true"
            android:layout_alignStart="@+id/btnSave"
            android:text="@string/done"
            android:textAllCaps="false" />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_above="@+id/PageRadioGroup"
            android:layout_alignParentTop="true"
            android:layout_marginTop="3dp"
            android:nestedScrollingEnabled="true"
            android:orientation="vertical" >

            <android.support.v4.widget.NestedScrollView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="3dp"
                android:isScrollContainer="true" >

                <LinearLayout
                    android:id="@+id/Layout"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:nestedScrollingEnabled="true"
                    android:orientation="vertical" >
                </LinearLayout>
            </android.support.v4.widget.NestedScrollView>
        </LinearLayout>
    </RelativeLayout>

</ScrollView>