android的滚动视图底部消失了

时间:2014-06-02 07:27:25

标签: android layout scrollview relativelayout

我正在制作一个带有scrollview的Android应用程序,在scrollview中有一个relativelayout,它们都有背景,它工作正常,但是当我尝试使用marginTop和Bottom在scrollview和relativelayout之间创建空间时,滚动视图的底部消失。

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


 <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="400dp"
    android:layout_height="fill_parent"
    android:background="@drawable/bg"

    >

 <RelativeLayout
        android:layout_width="330dp"
        android:layout_height="730dp"
        android:layout_marginLeft="26dp"
        android:layout_marginRight="26dp"
        android:layout_marginTop="26dp"
        android:layout_marginBottom="26dp"
        android:background="@drawable/bg2"

        >


<Button
    android:id="@+id/button1"
    android:layout_width="100dp"
    android:layout_height="30dp" />


<Button
    android:id="@+id/button2"
    android:layout_width="100dp"
    android:layout_height="30dp" />

<Button
    android:id="@+id/button3"
    android:layout_width="100dp"
    android:layout_height="30dp" />


  </RelativeLayout>       

   </ScrollView>

当我运行应用程序时,我想要这个:

enter image description here

但我得到了这个,我无法查看底部:

enter image description here

4 个答案:

答案 0 :(得分:0)

在滚动视图中使用此功能:

android:fillViewport="true"

并在RelativeLayout中:

android:adjustViewBounds="true"

答案 1 :(得分:0)

请将此行添加到视图的XML文件中的<ScrollView></ScrollView>标记中。

android:padding="15dp"

它将解决您的问题。

答案 2 :(得分:0)

 <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#15375e"

    >

 <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="30dp"
        android:background="#000000"

        >


<Button
    android:id="@+id/button1"
    android:layout_width="match_parent"
    android:layout_height="40dp"
    android:layout_margin="10dp"
    android:text="1" />


<Button
    android:id="@+id/button2"
    android:layout_width="match_parent"
    android:layout_below="@+id/button1"
    android:layout_height="40dp"
    android:layout_margin="10dp"
    android:text="2" />

<Button
    android:id="@+id/button3"
    android:layout_width="match_parent"
    android:layout_below="@+id/button2"
    android:layout_height="40dp" 
    android:layout_margin="10dp"
    android:text="3"/>

<Button
    android:id="@+id/button4"
    android:layout_width="match_parent"
    android:layout_height="40dp"
    android:layout_margin="10dp"
    android:layout_below="@+id/button3"
    android:text="4" />


<Button
    android:id="@+id/button5"
    android:layout_width="match_parent"
    android:layout_below="@+id/button4"
    android:layout_height="40dp"
    android:layout_margin="10dp"
    android:text="5" />

<Button
    android:id="@+id/button6"
    android:layout_width="match_parent"
    android:layout_below="@+id/button5"
    android:layout_height="40dp" 
    android:layout_margin="10dp"
    android:text="6"/>


  </RelativeLayout>       

   </ScrollView>

如果您使用上面的代码,您将获得this之类的输出。希望这会对你有所帮助。

答案 3 :(得分:0)

我偶然发现了这个问题并找到了解决方案。

似乎如果在scrollview中设置布局的下边距,它就不会按预期运行。作为解决方案,您可以设置该元素的填充而不是边距。如果你想要一个占据整个屏幕的背景,你可以在scrollview本身上设置它。

示例:

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

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/white">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:orientation="vertical">

            <!--Your elements go here-->

    </LinearLayout>

</ScrollView>

希望这有助于某人!