6

我目前正在使用在 ScrollView 中包含 RelativeLayout 的布局。

我希望将 RelativeLayout 包含在距离 ScrollView 底部 5dp 的位置,这样它就不会与我背后的背景重叠,为了实现这一点,我使用了这个 XML:

<ScrollView
    android:id="@+id/scrollView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentRight="true"
    android:layout_alignTop="@+id/backgroundView1"
    android:fadingEdge="none"
    android:scrollbars="none"
    android:paddingTop="5dp"
    android:paddingBottom="5dp">

    <RelativeLayout
        android:id="@+id/innerLayout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
    </RelativeLayout>
</ScrollView>

这工作得很好,但是我不再需要顶部的填充。移除 paddingTop 行时,paddingBottom 不再起作用。即使我将 paddingBottom 设置为 100dp,它对我的​​布局也没有影响。

我试过 paddingTop="0dp" 也没有解决问题,似乎 paddingBottom 只有在 paddingTop 大于 0 时才有效。

任何人都知道为什么 paddingBottom 在没有 paddingTop 的情况下不起作用?

4

4 回答 4

0

您编写了 xml 属性android:layout_alignParentBottom="true"因此您的ScrollView将始终与底部对齐。

删除android:layout_alignParentBottom="true" 并重试。

于 2015-06-15T04:10:16.027 回答
0

将这种布局用于滚动视图并根据您的需要进行更改。不要在滚动视图中使用相对布局。在这里您可以在图像中设置任何类型的高度,但您仍然会在底部看到填充而没有任何 paddingtop

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

    <ScrollView
        android:id="@+id/scrollView"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:background="#cccccc"
        android:paddingBottom="5dp"
        android:scrollbars="none" >

        <LinearLayout
            android:id="@+id/innerLayout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical" >

            <ImageView
                android:layout_width="match_parent"
                android:layout_height="700dp"
                android:background="@android:color/transparent"
                android:scaleType="fitXY"
                android:src="@drawable/image2" />
        </LinearLayout>
    </ScrollView>

</LinearLayout>
于 2015-06-15T07:35:01.733 回答
0

您可以使用

    android:layout_marginTop="10dip"

或者

    android:layout_marginBottom="20dip"
于 2015-12-25T23:49:52.177 回答
-1

这是为了在顶部和底部有 (5 dp) 空间

<ScrollView
    android:id="@+id/scrollView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentRight="true"
    android:layout_alignTop="@+id/backgroundView1"
    android:fadingEdge="none"
    android:scrollbars="none"
    android:paddingTop="5dp"
    android:paddingBottom="5dp">

    <RelativeLayout
        android:id="@+id/innerLayout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="5dp"
        android:layout_marginBottom="5dp">
    </RelativeLayout>
</ScrollView>

这是为了在顶部、底部、左侧和右侧有 (5 dp) 空间

<ScrollView
    android:id="@+id/scrollView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentRight="true"
    android:layout_alignTop="@+id/backgroundView1"
    android:fadingEdge="none"
    android:scrollbars="none"
    android:paddingTop="5dp"
    android:paddingBottom="5dp">

    <RelativeLayout
        android:id="@+id/innerLayout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="5dp">
    </RelativeLayout>
</ScrollView>
于 2016-03-27T17:23:00.573 回答