java - Android Scrollview 不包裹子元素

标签 java android scrollview

这是布局 xml 文件:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_height="wrap_content"
    android:layout_width="match_parent"
    android:scrollbars = "vertical">

    <LinearLayout
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        tools:context="factory.Settings"
        android:layout_height="fill_parent"
        android:layout_width="fill_parent"
        android:orientation="vertical">

        <LinearLayout
            android:orientation="horizontal"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <TextView
                android:id="@+id/lblShopID"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/ShopId"
                android:textAppearance="?android:attr/textAppearanceMedium" />

            <EditText
                android:id="@+id/txtShopID"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:inputType="text"
                android:layout_weight="1" />

        </LinearLayout>

        <LinearLayout
            android:orientation="horizontal"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <TextView
                android:id="@+id/lblShopname"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:layout_alignParentStart="true"
                android:layout_below="@+id/lblShopID"
                android:layout_marginTop="36dp"
                android:text="@string/ShopName"
                android:textAppearance="?android:attr/textAppearanceMedium" />

            <Spinner
                android:id="@+id/spinShopName"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignBottom="@+id/lblShopname"
                android:layout_toRightOf="@+id/lblShopname" />
        </LinearLayout>

        <Button
            android:id="@+id/btnSaveChanges"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentEnd="true"
            android:layout_alignParentRight="true"
            android:layout_below="@+id/spinShopName"
            android:layout_marginTop="22dp"
            android:onClick="saveData"
            android:text="Save Changes" />

        <TextView
            android:id="@+id/txtChangePassword"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:layout_centerVertical="true"
            android:text="@string/ChangePassword"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:layout_marginTop="30px" />

        <LinearLayout
            android:orientation="horizontal"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:layout_marginTop="30px">

            <TextView
                android:id="@+id/lblOldPassword"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/OldPassword"
                android:textAppearance="?android:attr/textAppearanceMedium" />

            <EditText
                android:id="@+id/txtOldPassword"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:ems="10"
                android:inputType="textPassword" />
        </LinearLayout>

        <LinearLayout
            android:orientation="horizontal"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <TextView
                android:id="@+id/lblNewPassword"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/NewPassword"
                android:textAppearance="?android:attr/textAppearanceMedium" />

            <EditText
                android:id="@+id/txtNewPassword"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:ems="10"
                android:inputType="textPassword" />
        </LinearLayout>

        <LinearLayout
            android:orientation="horizontal"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <TextView
                android:id="@+id/lblRetypePassword"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/RetypePassword"
                android:textAppearance="?android:attr/textAppearanceMedium" />

            <EditText
                android:id="@+id/txtRetypePassword"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:ems="10"
                android:inputType="textPassword" />
        </LinearLayout>

        <Button
            android:id="@+id/btnChangePassword"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:onClick="changePassword"
            android:text="Change Password" />

        <ListView
            android:id="@+id/lstUsers"
            android:layout_width="340dp"
            android:layout_height="wrap_content" />
    </LinearLayout>
</ScrollView>

这是预期的输出: enter image description here

预期输出是:我在 lstUsers 中有一些项目,并且没有足够的空间来显示所有用户,因此我想向布局添加一个 ScrollView 以让用户滚动下来。

但问题是: ScrollView 根本没有包裹任何控件,结果是:

enter image description here

正如你所看到的, ScrollView 无法包裹lstUser

布局文件有问题吗?

最佳答案

我认为您不可以将 ListView 放入 ScrollView 中。 Listview 实现了自己的滚动器,因此它不喜欢处于 ScrollView 中。看看这个链接

How can I put a ListView into a ScrollView without it collapsing?

关于java - Android Scrollview 不包裹子元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34259861/

相关文章:

java - XJC 生成的命名空间

android - 如果测试失败,则使 Android jenkins 构建失败

android - 在 ScrollView 中使用放大

java - 提取单词 "Class"之后的所有第一个单词

java - db2 中的 Oracle rownum - Java 数据归档

android - xxhdpi的图像比例是多少?

java - 如何使用 Uri.parse 解析字符串

arrays - 查找 ScrollView 的索引

iphone - 具有多个 UIViewController 的 ScrollView

java - 使用 JAXB 解码列表