0

在 Android 4 上,我有一个简单ScrollView的表单来填写。在视图中我有许多按钮,然后是这个布局,

<LinearLayout
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:id="@+id/layoutImages" />

然后是更多按钮。布局总是在LinearLayout. 如果我将布局向下移动到视图列表中,则会出现其上方的所有视图。我可以很好地引用代码中的其他布局,这样它们就在那里,只是不可见。

我需要做些什么来LinearLayout防止它停止渲染所有后续视图吗?

作为参考,这是完整的布局:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
 android:minWidth="25px"
 android:minHeight="25px"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent"
 android:fillViewport="true"
 android:id="@+id/scrView">
 <LinearLayout
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/background_selector">
    <Button
        android:text="Call Crime Stoppers"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+id/btnCall"
        android:layout_marginRight="3dp"
        android:layout_marginLeft="3dp"
        android:layout_marginTop="5dp"
        android:background="@drawable/blue_button_selector"
        android:textSize="25dp"
        android:textColor="@color/white"
        android:drawableLeft="@drawable/phone_element" />
    <TextView
        android:text="About the Incident:"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+id/lblDescriptionTop"
        android:layout_marginTop="15dp" />
    <Button
        android:text="Take a Picture"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+id/btnPicture"
        android:layout_marginRight="3dp"
        android:layout_marginLeft="3dp"
        android:layout_marginTop="5dp"
        android:background="@drawable/blue_button_selector"
        android:textSize="25dp"
        android:textColor="@color/white"
        android:drawableLeft="@drawable/icon_camera" />
    <LinearLayout
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:id="@+id/layoutImages" />
    <Button
        android:text="Location Type"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+id/btnLocationType"
        android:layout_marginRight="3dp"
        android:layout_marginLeft="3dp"
        android:layout_marginTop="5dp"
        android:background="@drawable/blue_button_selector"
        android:textSize="25dp"
        android:textColor="@color/white" />
    <Button
        android:text="Nature of the Incident"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+id/btnNature"
        android:layout_marginRight="3dp"
        android:layout_marginLeft="3dp"
        android:background="@drawable/blue_button_selector"
        android:textSize="25dp"
        android:textColor="@color/white"
        android:layout_marginTop="5dp" />
    <TextView
        android:text="Please Describe:"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+id/lblDescription"
        android:layout_marginTop="15dp" />
    <EditText
        android:inputType="textMultiLine"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+id/txtDescription"
        android:minHeight="150dp"
        android:maxHeight="150dp"
        android:layout_marginTop="5dp"
        android:minWidth="150dp"
        android:maxWidth="150dp" />
    <TextView
        android:text="Optional Contact Info:"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+id/textView1"
        android:layout_marginTop="15dp" />
    <CheckBox
        android:text="Use Phone Number?"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+id/chkPhone" />
    <EditText
        android:inputType="phone"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+id/editPhone"
        android:hint="Phone Number" />
    <CheckBox
        android:text="Use Email"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+id/chkEmail" />
    <EditText
        android:inputType="phone"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+id/editEmail"
        android:hint="Email" />
    <Button
        android:text="Send"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+id/btnSend"
        android:layout_marginRight="3dp"
        android:layout_marginLeft="3dp"
        android:background="@drawable/blue_button_selector"
        android:textSize="25dp"
        android:textColor="@color/white"
        android:layout_marginTop="15dp" />
</LinearLayout>
</ScrollView>
4

1 回答 1

2

那是因为您将 layout_height 设置为“fill_parent”,因此它占用了其下方的其余空间。这就是为什么它在底部时有效,但在中间时无效。尝试将其更改为“wrap_content”或使用RelativeLayout。

于 2012-06-20T20:06:55.343 回答