如何使scrollview扩展到screenize android?

时间:2016-05-20 20:51:32

标签: android android-scrollview android-scrollbar android-scrolling

我的根元素是相对布局,我在其中将一个LinearLayout包装到scrollview中。 LinearLayout有多个子项,包括textViews,editText和其他具有textviews和editText的Linearlayout。看了几个SO帖子,但没有帮助。我得到的只是屏幕右侧的灰色条,最多滚动一英寸,不能向下滚动。最后几个组件只有一半可见,滚动不会发生,直到我的最后组件的底部可见。将viewport参数设置为true / false无效。任何帮助将不胜感激。

<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="match_parent"
android:background="@drawable/bg_plain"
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=".Testactivity">

<TextView
    android:id="@+id/tv_title"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerInParent="true"
    android:layout_marginTop="40dp"
    android:gravity="center"
    android:singleLine="true"
    android:text="INFORMATION"
    android:textAlignment="center"
    android:textColor="#6D6E71"
    android:textSize="25sp"
    />

<ScrollView
    android:layout_width="300dp"
    android:layout_height="560dp"
    android:layout_below="@+id/tv_title"
    android:layout_centerInParent="true"
    android:fillViewport="true"
    >

    <LinearLayout
        android:layout_width="300dp"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:layout_marginTop="10dp"
        android:orientation="vertical">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="30dp"
            android:orientation="horizontal">

            <TextView
                android:id="@+id/tv_firstname"
                android:layout_width="170dp"
                android:layout_height="30dp"
                android:layout_gravity="left"
                android:gravity="left|center"
                android:text="FIRST NAME*"
                android:textColor="#E96F34"
                android:textSize="16sp"
                />

            <TextView
                android:id="@+id/tv_lastname"
                android:layout_width="130dp"
                android:layout_height="30dp"
                android:layout_gravity="left"
                android:gravity="left|center"
                android:text="LAST NAME*"
                android:textColor="#E96F34"
                android:textSize="16sp"
                />

        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="30dp"
            android:orientation="horizontal">

            <EditText
                android:id="@+id/et_firstname"
                android:layout_width="130dp"
                android:layout_height="30dp"
                android:background="@drawable/orange_full_rounded_corner"
                android:gravity="center"
                android:inputType="textPersonName"
                android:maxLength="3"
                />

            <Space
                android:layout_width="40dp"
                android:layout_height="30dp"/>

            <EditText
                android:id="@+id/et_lastname"
                android:layout_width="130dp"
                android:layout_height="30dp"
                android:background="@drawable/orange_full_rounded_corner"
                android:gravity="center"
                android:inputType="textPersonName"
                />
        </LinearLayout>

        <TextView
            android:id="@+id/tv_titlein"
            android:layout_width="170dp"
            android:layout_height="30dp"
            android:layout_gravity="left"
            android:gravity="left|center"
            android:text="TITLE"
            android:textColor="#E96F34"
            android:textSize="16sp"
            />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="30dp"
            android:orientation="horizontal">

            <RadioGroup
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:orientation="horizontal">

                <RadioButton
                    android:id="@+id/cb_mr"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:background="@drawable/orange_full_rounded_corner"
                    android:gravity="center"
                    android:text="MR."
                    />

                <Space
                    android:layout_width="30dp"
                    android:layout_height="match_parent"/>

                <RadioButton
                    android:id="@+id/cb_mrs"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:background="@drawable/orange_full_rounded_corner"
                    android:gravity="center"
                    android:text="MRS./MS."
                    />
            </RadioGroup>
        </LinearLayout>

        <TextView
            android:id="@+id/tv_company"
            android:layout_width="match_parent"
            android:layout_height="30dp"
            android:layout_gravity="left"
            android:gravity="left|center"
            android:text="COMPANY"
            android:textColor="#E96F34"
            android:textSize="16sp"
            />

        <EditText
            android:id="@+id/et_company"
            android:layout_width="match_parent"
            android:layout_height="30dp"
            android:background="@drawable/orange_full_rounded_corner"
            android:gravity="center"
            android:inputType="number"
            />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="30dp"
            android:orientation="horizontal">

            <TextView
                android:id="@+id/tv_phone"
                android:layout_width="170dp"
                android:layout_height="30dp"
                android:layout_gravity="left"
                android:gravity="left|center"
                android:text="PHONE*"
                android:textColor="#E96F34"
                android:textSize="16sp"
                />

            <TextView
                android:id="@+id/tv_mobilephone"
                android:layout_width="130dp"
                android:layout_height="30dp"
                android:layout_gravity="left"
                android:gravity="left|center"
                android:text="MOBILE PHONE*"
                android:textColor="#E96F34"
                android:textSize="16sp"
                />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="30dp"
            android:orientation="horizontal">

            <EditText
                android:id="@+id/et_phone"
                android:layout_width="130dp"
                android:layout_height="30dp"
                android:background="@drawable/orange_full_rounded_corner"
                android:gravity="center"
                android:inputType="number"
                android:maxLength="3"
                />

            <Space
                android:layout_width="40dp"
                android:layout_height="30dp"/>

            <EditText
                android:id="@+id/et_mobilephone"
                android:layout_width="130dp"
                android:layout_height="30dp"
                android:background="@drawable/orange_full_rounded_corner"
                android:gravity="center"
                android:inputType="number"
                />
        </LinearLayout>

        <TextView
            android:id="@+id/tv_emailaddress"
            android:layout_width="match_parent"
            android:layout_height="30dp"
            android:layout_gravity="left"
            android:gravity="left|center"
            android:text="EMAIL*"
            android:textColor="#E96F34"
            android:textSize="16sp"
            />

        <EditText
            android:id="@+id/et_emailaddress"
            android:layout_width="match_parent"
            android:layout_height="30dp"
            android:background="@drawable/orange_full_rounded_corner"
            android:gravity="center"
            android:inputType="textEmailAddress"
            />

        <TextView
            android:id="@+id/tv_address"
            android:layout_width="match_parent"
            android:layout_height="30dp"
            android:layout_gravity="left"
            android:gravity="left|center"
            android:text="ADDRESS"
            android:textColor="#E96F34"
            android:textSize="16sp"
            />

        <EditText
            android:id="@+id/et_address"
            android:layout_width="match_parent"
            android:layout_height="30dp"
            android:background="@drawable/orange_full_rounded_corner"
            android:gravity="center"
            android:inputType="text"
            />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="30dp"
            android:orientation="horizontal">

            <TextView
                android:id="@+id/tv_city"
                android:layout_width="170dp"
                android:layout_height="30dp"
                android:layout_gravity="left"
                android:gravity="left|center"
                android:text="CITY"
                android:textColor="#E96F34"
                android:textSize="16sp"
                />

            <TextView
                android:id="@+id/tv_zipcode"
                android:layout_width="130dp"
                android:layout_height="30dp"
                android:layout_gravity="left"
                android:gravity="left|center"
                android:text="ZIP CODE"
                android:textColor="#E96F34"
                android:textSize="16sp"
                />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="30dp"
            android:orientation="horizontal">

            <EditText
                android:id="@+id/et_city"
                android:layout_width="130dp"
                android:layout_height="30dp"
                android:background="@drawable/orange_full_rounded_corner"
                android:gravity="center"
                android:inputType="text"
                android:maxLength="3"
                />

            <Space
                android:layout_width="40dp"
                android:layout_height="30dp"/>

            <EditText
                android:id="@+id/et_zipcode"
                android:layout_width="130dp"
                android:layout_height="30dp"
                android:background="@drawable/orange_full_rounded_corner"
                android:gravity="center"
                />
        </LinearLayout>
    </LinearLayout>
</ScrollView>

1 个答案:

答案 0 :(得分:0)

您的布局结构很好。问题是你正在为几乎所有东西设置一个指定的高度,这是一个否定的。如果你想使用字体高度,那就是一个名为

的属性
android:textSize

在与文本相关的所有视图中,首选单位为sp表示文本,dp表示图像。

将所有高度更改为

wrap_content