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