【发布时间】:2010-11-22 23:56:05
【问题描述】:
大家好 - 是否可以在需要时使整个线性布局可滚动? (当布局中的所有元素都不适合主屏幕时)?
我知道它可以用于视图等...但是有没有办法将布局上的所有内容合并为同时可滚动?
也许可滚动不是正确的术语...基本上 - 如果其中一个元素(在这种情况下为按钮)没有完全进入手机的主屏幕,我需要向下滑动手指才能访问它...如果这有意义的话。
【问题讨论】:
大家好 - 是否可以在需要时使整个线性布局可滚动? (当布局中的所有元素都不适合主屏幕时)?
我知道它可以用于视图等...但是有没有办法将布局上的所有内容合并为同时可滚动?
也许可滚动不是正确的术语...基本上 - 如果其中一个元素(在这种情况下为按钮)没有完全进入手机的主屏幕,我需要向下滑动手指才能访问它...如果这有意义的话。
【问题讨论】:
LinearLayout 是 View 的子类,因此您可以使用 View 做的任何事情都可以使用 Linear Layout。
所以只需将 ScrollView 与单个 LinearLayout 一起用作子级
【讨论】:
只是举例说明其他人在谈论什么
<?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>
【讨论】:
是的,您可以使用 ScrollView 使整个视图可滚动,但由于您只能包含一个主子视图,因此您必须在 ScrollView 中添加另一个 LinearView 视图并将其他视图放入其中。
-主视图
-- 滚动视图
--- 线性视图
----子视图1
----子视图2
---- 子视图 3
....
【讨论】:
您可以使任何布局可滚动。在<?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>
【讨论】: