Scrollview被线性布局阻挡

时间:2017-11-13 03:06:50

标签: android android-layout scrollview android-scrollview

我有这样的设计: XMLFile1.xml

<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/option_view"
android:layout_width="fill_parent"
android:layout_height="fill_parent">

  <ScrollView
    android:name="question_paper_scrollView"
    android:layout_width="match_parent"
    android:layout_height="fill_parent"
    android:fillViewport="true">

    <FrameLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/fragment_container"
    android:layout_width="match_parent"
    android:layout_height="match_parent"/>
  </ScrollView>
</RelativeLayout>

XMLFile2.xml

<RelativeLayout 
 xmlns:android="http://schemas.android.com/apk/res/android"
 xmlns:app="http://schemas.android.com/apk/res-auto"
 xmlns:tools="http://schemas.android.com/tools"
 android:layout_width="fill_parent"
 android:layout_height="match_parent">
  <include layout=XMLFile1.xml>
  <LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="match_parent"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:gravity="center|bottom"
    android:weightSum="4"/>
 </RelativeLayout>

我已根据thisandroid:fillViewport="true"中设置ScrollView,并根据this设置minimumHeight()的{​​{1}}。 FrameLayout包含测验问题,他们需要可滚动,而FrameLayout包含一组按钮,如next,previous和clear。我从this LinearLayout了解到可以隐藏LinearLayout,但我可以看到ScrollBar。实现的正确方法是什么:给定设计的可滚动问题? PS:我被限制使用ScrollView,因为我想在屏幕底部设置一组按钮并使用LinearLayout,因为我正在从数据库中动态加载测验问题。

解决方案:两种解决方案的结合。在所有布局中使用wrap_content,在线性布局中使用用户layout_below属性

2 个答案:

答案 0 :(得分:1)

您可以为ScrollView调用bringToFront()如果它不阻止视图。 或者调整android:height个观看次数。 您还将ScrollView设置为android:layout_below="@id/includeView"

答案 1 :(得分:1)

尝试这一点,在两个xml文件中都采用所有布局和视图的高度wrap_content而不是fill_parent或match_parent。