滚动视图不显示底部

时间:2013-02-19 14:51:55

标签: android xml relativelayout android-scrollview

我有这个相对布局,里面有滚动视图。但是当滚动视图中包含更多文本时,它不显示底部文本,它会在我的按钮后面。我该如何解决这个问题?

以下是我所做的:

<?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"
    android:background="#00AEEC"
    android:orientation="vertical"
    android:weightSum="100" >

    <RelativeLayout
        android:id="@+id/details_header"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="clip_horizontal"
        android:background="#00AEEC"
        android:padding="20dp" >



        <ImageView
            android:id="@+id/imageView1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:src="@drawable/onlywithalcohol_heading_page2" />

    </RelativeLayout>

 <RelativeLayout
     android:layout_width="fill_parent"
     android:layout_height="wrap_content"
     android:layout_below="@+id/details_header"
     android:layout_centerHorizontal="true"
     android:layout_margin="20dp" >

     <TextView
         android:id="@+id/details_country"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_alignParentTop="true"
         android:layout_centerHorizontal="true"
         android:layout_marginBottom="20dp"
         android:text="USA"
         android:textAlignment="center"
         android:textAppearance="?android:attr/textAppearanceMedium" />

     <TextView
         android:id="@+id/details_title"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_below="@id/details_country"
         android:layout_centerHorizontal="true"
         android:layout_marginBottom="20dp"
         android:gravity="center_horizontal"
         android:text="Fastest Time To Drink A Pint Of Soda Water, Consume A Bowl Of Macaroni And Cheese With Chopsticks, Eat And Read A Fortune Cookie And Take A Shot Of Peach Schnapps "
         android:textAlignment="center"
         android:textAppearance="?android:attr/textAppearanceMedium"
         android:textColor="#FFFF00" />

     <ScrollView
         android:layout_width="fill_parent"
         android:layout_height="200dp"
         android:layout_alignParentBottom="true"
         android:layout_below="@id/details_title"
         android:layout_centerHorizontal="true" >

         <TextView
             android:id="@+id/details_description"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_marginBottom="20dp"
             android:gravity="center_horizontal"
             android:paddingLeft="10dp"
             android:paddingRight="10dp"
             android:text="Sam Birdsong removed a cork from an empty bottle of wine using just a napkin in two minutes, 55.47 seconds.He stipulated beforehand that he had to begin with an unopened bottle, uncork it and pour out the wine, then shove the cork back inside the bottle and pull it out with a cloth napkin"
             android:textAlignment="center"
             android:textAppearance="?android:attr/textAppearanceMedium" />
     </ScrollView>
 </RelativeLayout>

 <LinearLayout
     android:layout_width="fill_parent"
     android:layout_height="wrap_content"
     android:layout_alignParentBottom="true"
     android:layout_centerHorizontal="true"
     android:layout_margin="10dp"
     android:background="#00AEEC"
     android:orientation="vertical" >

     <Button
         android:id="@+id/details_back_btn"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_gravity="center"
         android:padding="10dp"
         android:text="@string/back_btn"
         android:textSize="18sp"
         android:textStyle="bold" />
 </LinearLayout>

</RelativeLayout>

2 个答案:

答案 0 :(得分:1)

为包含Button的LinearLayout添加一个id,例如:

android:id="@+id/bottomLayout"

在包含scrollView的RelativeLayout中使用它:

android:layout_above="@+id/bottomLayout"

请注意,底部边距为20dp,如果你不想要它,你可以使用android:layout_marginLeft,android:layout_marginRight和android:layout_marginTop来确保你在其他地方都有20dp的边距。

答案 1 :(得分:0)

将您的布局更改为LinearLayout,它应该适合您,您可能需要使用

android:gravity="bottom"

对齐屏幕最底部的按钮

您可能需要使用

android:layout_weight=""

如果需要的话。

这是一个可以放在LinearLayout垂直方向内的块:

<ImageView
    android:id="@+id/imageView1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:src="@drawable/ic_launcher" />

<TextView
    android:id="@+id/details_country"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:layout_marginBottom="20dp"
    android:text="USA"
    android:textAlignment="center"
    android:textAppearance="?android:attr/textAppearanceMedium" />

<TextView
    android:id="@+id/details_title"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@id/details_country"
    android:layout_centerHorizontal="true"
    android:layout_marginBottom="20dp"
    android:gravity="center_horizontal"
    android:text="Fastest Time To Drink A Pint Of Soda Water, Consume A Bowl Of Macaroni And Cheese With Chopsticks, Eat And Read A Fortune Cookie And Take A Shot Of Peach Schnapps "
    android:textAlignment="center"
    android:textAppearance="?android:attr/textAppearanceMedium"
    android:textColor="#FFFF00" />

<ScrollView
    android:layout_width="fill_parent"
    android:layout_height="200dp"
    android:layout_alignParentBottom="true"
    android:layout_below="@id/details_title"
    android:layout_centerHorizontal="true" >

    <TextView
        android:id="@+id/details_description"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="20dp"
        android:gravity="center_horizontal"
        android:paddingLeft="10dp"
        android:paddingRight="10dp"
        android:text="Sam Birdsong removed a cork from an empty bottle of wine using just a napkin in two minutes, 55.47 seconds.He stipulated beforehand that he had to begin with an unopened bottle, uncork it and pour out the wine, then shove the cork back inside the bottle and pull it out with a cloth napkin , and this wilk take for ever and ever out the wine, then shove the cork back inside the bottle and pull it out with a cloth napkin , and this wilk take for ever and ever out the wine, then shove the cork back inside the bottle and pull it out with a cloth napkin , and this wilk take for ever and ever out the wine, then shove the cork back inside the bottle and pull it out with a cloth napkin , and this wilk take for ever and ever "
        android:textAlignment="center"
        android:textAppearance="?android:attr/textAppearanceMedium" />
</ScrollView>

<Button
    android:id="@+id/details_back_btn"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:layout_weight=""
    android:gravity="bottom"
    android:padding="10dp"
    android:text="back"
    android:textSize="18sp"
    android:textStyle="bold" />