滚动视图被线性布局阻塞

Scrollview getting blocked by linear layout

我有这样的设计: 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>

我根据this and also set the minimumHeight() of the FrameLayout as per this. FrameLayout holds the quiz questions and they need to be scrollable and the LinearLayout consists of set of buttons like next, previous and clear. I learnt from thisScrollView中设置了android:fillViewport="true" LinearLayout可以隐藏ScrollView但我可以看到ScrollBar。实现的正确方法是什么:给定设计的可滚动问题? PS:我不得不使用 LinearLayout,因为我想在屏幕底部设置一组按钮,而使用 FrameLayout,因为我正在从数据库动态加载测验问题。

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

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

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