Android:ScrollView中的视图不会显示为空的LinearLayout

时间:2012-06-20 20:04:50

标签: android android-layout

在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>

1 个答案:

答案 0 :(得分:2)

那是因为你将layout_height设置为“fill_parent”,所以它占用了下面的其余空间。这就是为什么它在底部时起作用,而不是在中间。 尝试将其更改为“wrap_content”或使用RelativeLayout。