如何在Scrollview中包装相对布局?

时间:2013-11-13 18:16:11

标签: android scrollview

我尝试修改我的主要活动以转换为滚动视图但是当我在布局xml周围添加Scrollview元素时,格式化了。

在ScrollView中包装它时,是否有人能够发现我犯了错误的地方?

这是添加Scrollview之前的布局:

Original

这是在:

之后

After mod

这就是我在布局xml中实现它的方式:

 <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center_vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity"
     >

<RelativeLayout

    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >


    <EditText
        android:id="@+id/ductDepth"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/calc"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="37dp"
        android:ems="10"
        android:hint="Enter duct depth mm"
        android:inputType="numberDecimal"
        android:singleLine="true" >

        <requestFocus />
    </EditText>

    <EditText
        android:id="@+id/offDepth"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/textView3"
        android:layout_alignLeft="@+id/ductDepth"
        android:layout_marginBottom="14dp"
        android:ems="10"
        android:hint="Enter offset depth mm"
        android:inputType="numberDecimal"
        android:singleLine="true" />

    <EditText
        android:id="@+id/offLength"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/textView2"
        android:layout_alignLeft="@+id/offDepth"
        android:layout_marginBottom="20dp"
        android:ems="10"
        android:hint="Enter offset length mm"
        android:inputType="numberDecimal"
        android:singleLine="true" />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/offDepth"
        android:layout_alignLeft="@+id/offDepth"
        android:text="Depth:"
        android:textSize="30sp" />

    <TextView
        android:id="@+id/textView3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/ductDepth"
        android:layout_alignLeft="@+id/ductDepth"
        android:text="Duct Depth:"
        android:textSize="30sp" />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_above="@+id/offLength"
        android:layout_alignLeft="@+id/offLength"
        android:text="Length:"
        android:textSize="30sp" />

    <Button
        android:id="@+id/calc"
        android:layout_width="200dp"
        android:layout_height="70dp"
        android:layout_alignLeft="@+id/ductDepth"
        android:layout_alignParentBottom="true"
        android:layout_marginBottom="30dp"
        android:background="@drawable/calcbttrans" />



    <android.support.v4.view.ViewPager     
    android:id="@+id/pager"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@id/calc" >

    <!--
    This title strip will display the currently visible page title, as well as the page
    titles for adjacent pages.
    -->

    <android.support.v4.view.PagerTitleStrip
        android:id="@+id/pager_title_strip"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="top"
        android:background="#33b5e5"
        android:paddingBottom="4dp"
        android:paddingTop="4dp"
        android:textColor="#fff" />

</android.support.v4.view.ViewPager>

</RelativeLayout>

</ScrollView>

2 个答案:

答案 0 :(得分:6)

这是我的一个代码片段:

<ScrollView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:fillViewport="true">
    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" >

我觉得有两件事可能会导致您的问题:您可能需要android:fillViewport="true",而android:layout_height="wrap_content" RelativeLayout对我来说比fill_parent更有意义。

答案 1 :(得分:1)

尝试添加  您的scrollView

android:fillViewport="true"