如何使线性布局可滚动?

时间:2010-11-22 23:56:06

标签: android xml layout scroll

嘿所有 - 是否有可能在需要时使整个线性布局可滚动? (当布局中的所有元素都不适合主屏幕时)?

我知道这对于视图等是可行的...但是有没有办法将布局中的所有内容同时包含在内?

也许可滚动不是正确的术语...基本上 - 如果其中一个元素(在这种情况下是一个按钮)没有完全进入手机的主屏幕,我需要向下滑动手指它...如果这是有道理的。

4 个答案:

答案 0 :(得分:60)

LinearLayout是View的子类,因此您可以使用线性布局对视图执行任何操作。

因此,只需将ScrollView与单个LinearLayout用作子项

即可

答案 1 :(得分:29)

只是举例说明其他人在说什么

<?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">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center|left"
        android:orientation="vertical" >

         Here is your layout!

    </LinearLayout>

</ScrollView>

答案 2 :(得分:10)

是的,您可以使用ScrollView使整个视图可滚动,但由于您只能包含一个主要子项,因此您必须在ScrollView中添加另一个LinearView视图并将其他视图放入其中。

- 主要观点

- ScrollView

--- LinearView

----子视图1

----子视图2

----子视图3

...

答案 3 :(得分:2)

你可以使任何布局可滚动。在<?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">

并在最后添加</ScrollView>

不可滚动活动的示例:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="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"
    android:verticalScrollbarPosition="right"
    tools:context="p32929.demo.MainActivity">


    <TextView
        android:text="TextView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="102dp"
        android:id="@+id/textView"
        android:textSize="30sp" />
</RelativeLayout>

使其可滚动后,它变成如下:

<?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">

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/activity_main"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="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"
        android:verticalScrollbarPosition="right"
        tools:context="p32929.demo.MainActivity">


        <TextView
            android:id="@+id/textView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="102dp"
            android:text="TextView"
            android:textSize="30sp" />
    </RelativeLayout>
</ScrollView>