ScrollView的内容泄露出Android中的父视图

时间:2017-06-11 12:16:41

标签: android android-layout scrollview android-scrollview

下面的布局文件应该让您知道我想在TextView下面的RelativeLayout内部滚动视图的内容,但ScrollView的内容离开RelativeLayout以隐藏在TextView后面。我不明白这是怎么回事。在ScrollView内部的RelativeLayout中,我以编程方式添加了一个LinearLayoutCompat对象,并且我还以编程方式添加了几个AppCompatTextView对象。屏幕截图只是布局的一个实例。

我将嵌套的RelativeLayout设置为从TextView下面开始,但它仍然从最顶层开始。

layout.xml

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:id="@+id/narrowTextnon"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:background="@color/cherryRed"
        android:elevation="8dp"
        android:gravity="center"
        android:layout_marginTop="15dp"
        android:padding="25dp"
        android:text="Let's narrow down now !"
        android:textColor="@color/wineBrown"
        android:textSize="22sp" />

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/narrowTextnon"
        android:gravity="center">

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

            <RelativeLayout
                android:id="@+id/dataContnon"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:gravity="center">

            </RelativeLayout>

        </ScrollView>

    </RelativeLayout>

</RelativeLayout>

enter image description here

3 个答案:

答案 0 :(得分:1)

RelativeLayout的正常行为,我要做的是将根布局更改为RelativeLayout,并在嵌套的RelativeLayout中声明android:layout_below="@id/narrowText"

答案 1 :(得分:1)

我猜你的问题就在这一行: android:layout_height="match_parent"此处:<RelativeLayout //To position ScrollView in center

在那里试试wrap_content

答案 2 :(得分:0)

最后通过申请得到了我想要的东西:
android:layout_height="match_parent"嵌套RelativeLayout以将ScrollView置于中心位置 android:layout_below="@id/narrowText"让ScrollView从TextView下面开始,而不是从顶部开始。
android:layout_alignParentBottom = true让ScrollView从TextView底部延伸到屏幕底部。