Android XML 滚动视图
Android XML Scrollview
我试图将多个 TextViews
放在一个 ScrollView
中,但当我这样做时,它会使我的应用程序崩溃。我怎样才能将相同的文本放在彼此下面两次?
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="20dp"
android:layout_marginBottom="20dp"
android:layout_below="@id/linear">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/lorem_ipsum"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/lorem_ipsum"/>
</ScrollView>
你的 Scrollview 可以有 只有一个子视图 ,所以在这个布局中放置一个布局和你的文本视图:
<ScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:layout_marginBottom="20dp"
android:layout_below="@id/linear">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/lorem_ipsum"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/lorem_ipsum"/>
</LinearLayout>
</ScrollView>
ScrollView的直接child应该是其他支持多child的layout,比如RelativeLayout或者LinearLayout
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginBottom="20dp"
android:layout_marginTop="20dp" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/lorem_ipsum" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/lorem_ipsum" />
</LinearLayout>
</ScrollView>
滚动视图只能有一个子视图。所以在你的 ScrollView 中使用 LinearLayout,然后在里面做你想做的任何事情。像这样
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="20dp"
android:layout_marginTop="20dp" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="5dp"
android:text="@string/app_name" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="5dp"
android:text="@string/app_name" />
</LinearLayout>
根据 android 文档:-
http://developer.android.com/reference/android/widget/ScrollView.html
ScrollView 是一个 FrameLayout,这意味着您应该在其中放置一个 child 包含要滚动的全部内容;这个 child 本身可能是一个具有复杂层次结构 objects 的布局管理器。经常使用的 child 是垂直方向的 LinearLayout,呈现一个垂直排列的 top-level 项目,用户可以滚动浏览。
Scrollview 始终只包含一个 child 布局。线性布局有方向 属性 来管理 child 水平或垂直布局 。
您的代码必须如下所示:
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/lorem_ipsum"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/lorem_ipsum"/>
</LinearLayout></ScrollView>
我觉得上面的代码对你有帮助。
我试图将多个 TextViews
放在一个 ScrollView
中,但当我这样做时,它会使我的应用程序崩溃。我怎样才能将相同的文本放在彼此下面两次?
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="20dp"
android:layout_marginBottom="20dp"
android:layout_below="@id/linear">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/lorem_ipsum"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/lorem_ipsum"/>
</ScrollView>
你的 Scrollview 可以有 只有一个子视图 ,所以在这个布局中放置一个布局和你的文本视图:
<ScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:layout_marginBottom="20dp"
android:layout_below="@id/linear">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/lorem_ipsum"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/lorem_ipsum"/>
</LinearLayout>
</ScrollView>
ScrollView的直接child应该是其他支持多child的layout,比如RelativeLayout或者LinearLayout
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginBottom="20dp"
android:layout_marginTop="20dp" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/lorem_ipsum" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/lorem_ipsum" />
</LinearLayout>
</ScrollView>
滚动视图只能有一个子视图。所以在你的 ScrollView 中使用 LinearLayout,然后在里面做你想做的任何事情。像这样
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="20dp"
android:layout_marginTop="20dp" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="5dp"
android:text="@string/app_name" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="5dp"
android:text="@string/app_name" />
</LinearLayout>
根据 android 文档:-
http://developer.android.com/reference/android/widget/ScrollView.html
ScrollView 是一个 FrameLayout,这意味着您应该在其中放置一个 child 包含要滚动的全部内容;这个 child 本身可能是一个具有复杂层次结构 objects 的布局管理器。经常使用的 child 是垂直方向的 LinearLayout,呈现一个垂直排列的 top-level 项目,用户可以滚动浏览。
Scrollview 始终只包含一个 child 布局。线性布局有方向 属性 来管理 child 水平或垂直布局 。
您的代码必须如下所示:
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/lorem_ipsum"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/lorem_ipsum"/>
</LinearLayout></ScrollView>
我觉得上面的代码对你有帮助。