我有一个内部带有ScrollView的LinearLayout和一个位于scrollview下面的复选框。每当我在滚动视图中放入大量文本时,它将在整个屏幕中展开并踢出底部的复选框视图。我如何防止这种情况发生?
基本上,我希望复选框始终位于scrollview下方。我还希望scrollview根据其文本缩小和扩展。当里面有很多文字时,它应该扩展到屏幕底部仍然可以看到复选框的位置。
它应该是这样的:
如果文本太多,填充的ScrollView应该有一个滚动条,而不是从屏幕上勾选复选框
帮助!
我的布局如下:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ScrollView
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<!-- TextView inside --->
</ScrollView>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="80dp"
android:gravity="top"
android:orientation="horizontal" >
<!-- CheckBox inside --->
</RelativeLayout>
</LinearLayout>
不要担心语法,或者内部的所有内容,我写的很快,因为里面的代码真的很长而且没必要!
答案 0 :(得分:1)
试试这个布局:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ScrollView
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1">
<!-- TextView inside --->
</ScrollView>
<!-- CheckBox Here --->
</LinearLayout>
答案 1 :(得分:0)
让我们开始吧。尝试用RelativeLayout替换您的父LinearLayout。如果这不起作用,您可能必须使用重量或像素(这是非理想的)将ScrollView的高度固定到某个固定高度:
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ScrollView
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<!-- TextView inside --->
</ScrollView>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="80dp"
android:gravity="top"
android:orientation="horizontal" >
<!-- Stuff inside --->
</RelativeLayout>
</RelativeLayout>
答案 2 :(得分:0)
为ScrollView
定义固定尺寸。随着文本变大,滚动被定义为该大小(如layout_height="100dp"
)
<强>更新强>
尝试这样的事情
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ScrollView
android:layout_width="match_parent"
android:layout_height="200dp" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<!-- TextView's inside - -->
</LinearLayout>
</ScrollView>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<!-- CheckBox's inside - -->
</LinearLayout>
</LinearLayout>