【问题标题】:Android relative layout doesn't scrollAndroid相对布局不滚动
【发布时间】:2014-06-21 08:58:58
【问题描述】:

我的 xml 文件中有一个相对布局,其中有另一个包含我所有内容的相对布局。我的内部相对布局加载了来自我的数据库的内容。

我还有一个底部的编辑文本和按钮用于添加 cmets。

现在的问题是当内容更多但所有内容都隐藏在底部编辑文本和按钮中时,我的内部相对布局不会滚动。

这是我的 xml。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
        android:background="@color/BG"
        android:paddingTop="10dp" >

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
        android:layout_marginRight="10dp"
        android:background="#FFFFFF"
        android:paddingLeft="15dp"
        android:paddingRight="15dp"
        android:paddingBottom="15dp"
        android:scrollbars="vertical" >

        <TextView
            android:id="@+id/discTitle"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentRight="true"
            android:layout_marginTop="20dp"
            android:text="Title"
            android:textColor="#77d3f1"
            android:textSize="18sp" />

        <TextView
            android:id="@+id/discCategory"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignRight="@+id/discTitle"
            android:layout_below="@+id/discTitle"
            android:layout_marginTop="20dp"
            android:text="Category"
            android:textColor="#77d3f1"
            android:textSize="14sp" />

        <TextView
            android:id="@+id/discDescription"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignRight="@+id/discCategory"
            android:layout_below="@+id/discCategory"
            android:layout_marginTop="20dp"
            android:text="Decsription"
            android:textColor="#908484"
            android:textSize="16sp" />

        <TextView
            android:id="@+id/discTime"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignRight="@+id/discDescription"
            android:layout_below="@+id/discDescription"
            android:layout_marginTop="20dp"
            android:text="yyyy mm dd hh:mm:ss"
            android:textSize="10sp" />
    </RelativeLayout>

    <EditText
        android:id="@+id/editText1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentRight="true"
        android:layout_marginRight="60dp"
        android:background="@drawable/commentbg"
        android:ems="10"
        android:hint="Type a comment..."
        android:inputType="textMultiLine"
        android:minHeight="40dp"
        android:paddingLeft="10dp"
        android:textStyle="italic" >

        <requestFocus />
    </EditText>

    <Button
        android:id="@+id/button1"
        android:layout_width="61dp"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:background="@drawable/commentbg"
        android:minHeight="40dp"
        android:text="Send" />

</RelativeLayout>

现在我希望内部相对布局的高度占据整个屏幕,并且必须是 内容更多时可滚动。请看下图。

提前致谢。

【问题讨论】:

    标签: android-layout android-xml android-relativelayout


    【解决方案1】:

    将其包裹在 ScrollView 中

    <ScrollView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+id/scroll_view_layout">
    
        <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
        android:layout_marginRight="10dp"
        android:background="#FFFFFF"
        android:paddingLeft="15dp"
        android:paddingRight="15dp"
        android:paddingBottom="15dp"
        android:scrollbars="vertical" >
    
        <TextView
            android:id="@+id/discTitle"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentRight="true"
            android:layout_marginTop="20dp"
            android:text="Title"
            android:textColor="#77d3f1"
            android:textSize="18sp" />
    
        <TextView
            android:id="@+id/discCategory"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignRight="@+id/discTitle"
            android:layout_below="@+id/discTitle"
            android:layout_marginTop="20dp"
            android:text="Category"
            android:textColor="#77d3f1"
            android:textSize="14sp" />
    
        <TextView
            android:id="@+id/discDescription"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignRight="@+id/discCategory"
            android:layout_below="@+id/discCategory"
            android:layout_marginTop="20dp"
            android:text="Decsription"
            android:textColor="#908484"
            android:textSize="16sp" />
    
        <TextView
            android:id="@+id/discTime"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignRight="@+id/discDescription"
            android:layout_below="@+id/discDescription"
            android:layout_marginTop="20dp"
            android:text="yyyy mm dd hh:mm:ss"
            android:textSize="10sp" />
    </RelativeLayout>
    
    <EditText
        android:id="@+id/editText1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentRight="true"
        android:layout_marginRight="60dp"
        android:background="@drawable/commentbg"
        android:ems="10"
        android:hint="Type a comment..."
        android:inputType="textMultiLine"
        android:minHeight="40dp"
        android:paddingLeft="10dp"
        android:textStyle="italic" >
    
        <requestFocus />
    </EditText>
    
    <Button
        android:id="@+id/button1"
        android:layout_width="61dp"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:background="@drawable/commentbg"
        android:minHeight="40dp"
        android:text="Send" />
    
     </RelativeLayout>
    </ScrollView>
    

    【讨论】:

      【解决方案2】:

      要滚动内容,您需要添加 ScrollView。 ScrollView 将是您要滚动的布局的父级。 http://developer.android.com/reference/android/widget/ScrollView.html

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-09-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多