ScrollView抛出底部视图

时间:2014-06-06 14:47:57

标签: android xml

我有一个内部带有ScrollView的LinearLayout和一个位于scrollview下面的复选框。每当我在滚动视图中放入大量文本时,它将在整个屏幕中展开并踢出底部的复选框视图。我如何防止这种情况发生?

基本上,我希望复选框始终位于scrollview下方。我还希望scrollview根据其文本缩小和扩展。当里面有很多文字时,它应该扩展到屏幕底部仍然可以看到复选框的位置。

它应该是这样的:

enter image description here enter image description here

如果文本太多,填充的ScrollView应该有一个滚动条,而不是从屏幕上勾选复选框

帮助!

我的布局如下:

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <ScrollView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">

        <!-- TextView inside --->

    </ScrollView>

    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="80dp"
        android:gravity="top"
        android:orientation="horizontal" >

        <!-- CheckBox inside --->

    </RelativeLayout>

</LinearLayout>

不要担心语法,或者内部的所有内容,我写的很快,因为里面的代码真的很长而且没必要!

3 个答案:

答案 0 :(得分:1)

试试这个布局:

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <ScrollView
        android:layout_width="wrap_content"
        android:layout_height="0dp"
        android:layout_weight="1">

        <!-- TextView inside --->

    </ScrollView>



        <!-- CheckBox Here --->



</LinearLayout>

答案 1 :(得分:0)

让我们开始吧。尝试用RelativeLayout替换您的父LinearLayout。如果这不起作用,您可能必须使用重量或像素(这是非理想的)将ScrollView的高度固定到某个固定高度:

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <ScrollView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">

        <!-- TextView inside --->

    </ScrollView>

    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="80dp"
        android:gravity="top"
        android:orientation="horizontal" >

        <!-- Stuff inside --->

    </RelativeLayout>

</RelativeLayout>

答案 2 :(得分:0)

ScrollView定义固定尺寸。随着文本变大,滚动被定义为该大小(如layout_height="100dp"

<强>更新

尝试这样的事情

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="200dp" >



        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical" >

           <!-- TextView's inside - -->

        </LinearLayout>
    </ScrollView>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" >

        <!-- CheckBox's inside - -->

    </LinearLayout>

</LinearLayout>