如何使LinearLayout可滚动

在我开始活动后,我无法向下滚动查看下面定义的xml中的其他button和选项。

有谁知道如何使这个滚动?

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_height="wrap_content" android:layout_width="fill_parent" android:background="#000044" android:isScrollContainer="true" android:orientation="vertical"> <TextView android:id="@+id/title" android:text="@string/title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="#ffffff"/> <EditText android:id="@+id/editTitle" android:text="" android:layout_width="fill_parent" android:layout_height="wrap_content"/> <TextView android:id="@+id/description" android:text="@string/description" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="#ffffff"/> <EditText android:id="@+id/editDescription" android:text="" android:layout_width="fill_parent" android:layout_height="wrap_content"/> <TextView android:id="@+id/location" android:text="@string/location" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="#ffffff"/> <EditText android:id="@+id/editLocation" android:text="" android:layout_width="fill_parent" android:layout_height="wrap_content"/> <TextView android:id="@+id/startTime" android:text="@string/startTime" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="#ffffff"/> <DatePicker android:id="@+id/DatePicker01" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <TimePicker android:id="@+id/TimePicker01" android:layout_width="wrap_content" android:layout_height="wrap_content"/> <TextView android:id="@+id/endTime" android:text="@string/endTime" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="#ffffff"/> <DatePicker android:id="@+id/DatePicker02" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <TimePicker android:id="@+id/TimePicker02" android:layout_width="wrap_content" android:layout_height="wrap_content"/> <Button android:id="@+id/buttonCreate" android:text="Create" android:layout_width="wrap_content" android:layout_height="wrap_content"/> </LinearLayout> 

我的class级代码是

 package com.example.blah; import android.app.Activity; import android.os.Bundle; public class example extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } } 

输出是http://img265.imageshack.us/img265/7601/linearlayout.jpg

将您的布​​局放置在ScrollView中 。

 <?xml version="1.0" encoding="utf-8"?> <ScrollView ...> <LinearLayout ...> ... ... </LinearLayout> </ScrollView> 
 <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"> Your views go here... </LinearLayout> </ScrollView> 

把你的整个内容放在ScrollView中的线性布局。

ScrollView只有一个布局作为其子。

 isScrollContainer="true" 

这个属性是在你的android软键popup而你仍然希望你的视图滚动时使用的。

你也可以使用View.scrollTo(..)来实现它。

 postDelayed(new Runnable() { public void run() { counter = (int) (counter + 10); handler.postDelayed(this, 100); llParent.scrollTo(counter , 0); } } }, 1000L); 

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

将所有布局放置在宽度和高度都设置为fill_parent的ScrollView中。