我无法通过scrollView到达布局中的最后一个元素

问题描述 投票:0回答:3

我正在开发android应用,现在我在对话框中输入了一个简单的表单,该表单我想用于地址信息,并且具有多个元素。

对话框的布局具有scrollView。

scrollView已存在,我可以上下滚动,但不能向下滚动以到达布局中的最后一项。

我的布局:

<LinearLayout android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:background="@color/white"
    android:padding="24dp">
    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:fillViewport="true">
    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:layout_marginTop="40dp"
        android:scrollbars="vertical"
        android:scrollbarAlwaysDrawVerticalTrack="true">

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="@string/address"
            android:padding="8dp"
            android:textColor="@color/colorPrimaryDark"
            android:textStyle="bold"
            android:gravity="center_horizontal"/>
                <TextView
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:text="@string/post_code"
                    android:padding="8dp"
                    android:layout_marginTop="10dp"
                    android:textColor="@color/colorPrimaryDark"/>
                <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="horizontal"
                android:weightSum="1"
                android:background="@drawable/stork_wo">
                <EditText
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:maxLines="1"
                    android:inputType="textPostalAddress"
                    android:ems="10"
                    android:hint="@string/post_code"
                    android:id="@+id/etPostCode"
                    android:textColorHint="@color/colorPrimary"
                    android:textColor="@color/colorPrimaryDark"
                    android:layout_weight="0.9"
                    android:padding="8dp"
                    android:layout_margin="1dp"
                    android:background="@color/white"/>

                <Button
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:background="@android:color/transparent"
                    android:drawableEnd="@drawable/search"
                    android:drawableRight="@drawable/search"
                    android:drawablePadding="8dp"
                    android:padding="8dp"
                    android:id="@+id/btnSearch"
                    android:drawableTint="@color/colorPrimary"
                    android:layout_weight="0.1"/>

                </LinearLayout>

                <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="@string/select_an_address"
                android:padding="8dp"
                android:layout_marginTop="10dp"
                android:textColor="@color/colorPrimaryDark"
                android:textColorHint="@color/colorPrimary" />

                <Spinner
                android:id="@+id/spinner1"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:drawSelectorOnTop="true"
                android:layout_marginTop="10dp"
                android:padding="8dp"
                android:entries="@array/array_empty"
                android:textColor="@color/colorPrimaryDark" />
                <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="@string/flat_number"
                android:padding="8dp"
                android:layout_marginTop="10dp"
                android:textColor="@color/colorPrimaryDark"/>
                <EditText
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:maxLines="1"
                android:inputType="number"
                android:ems="10"
                android:background="@drawable/stork_wo"
                android:padding="8dp"
                android:id="@+id/etFlatNumber"
                android:hint="@string/flat_num_example"
                android:textColor="@color/colorPrimaryDark"
                android:textColorHint="@color/colorPrimary" />

                <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="@string/address2"
                android:padding="8dp"
                android:layout_marginTop="10dp"
                android:textColor="@color/colorPrimaryDark"/>
                <EditText
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:maxLines="1"
                android:inputType="text"
                android:ems="10"
                android:background="@drawable/stork_wo"
                android:padding="8dp"
                android:id="@+id/etAddress2"
                android:hint="@string/address2_example"
                android:textColor="@color/colorPrimaryDark"
                android:textColorHint="@color/colorPrimary" />

                <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="@string/town"
                android:padding="8dp"
                android:layout_marginTop="10dp"
                android:textColor="@color/colorPrimaryDark"/>
                <EditText
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:maxLines="1"
                android:inputType="text"
                android:ems="10"
                android:background="@drawable/stork_wo"
                android:padding="8dp"
                android:id="@+id/etTown"
                android:hint="@string/town_example"
                android:textColor="@color/colorPrimaryDark"
                android:textColorHint="@color/colorPrimary" />

                <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="@string/city"
                android:padding="8dp"
                android:layout_marginTop="10dp"
                android:textColor="@color/colorPrimaryDark"/>
                <EditText
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:maxLines="1"
                android:inputType="text"
                android:ems="10"
                android:background="@drawable/stork_wo"
                android:padding="8dp"
                android:id="@+id/etCity"
                android:hint="@string/town_example"
                android:textColorHint="@color/colorPrimary"
                android:textColor="@color/colorPrimaryDark" />

        <Button
            android:id="@+id/btnNext"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/button"
            android:text="@string/save"
            android:textAllCaps="false"
            android:textColor="@color/white"
            android:textSize="18sp"
            android:gravity="center"
            android:paddingTop="2dp"
            android:layout_marginTop="8dp"
            />
        <Button
            android:id="@+id/btnCancel"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/button"
            android:text="@string/cancel"
            android:textAllCaps="false"
            android:textColor="@color/white"
            android:textSize="18sp"
            android:gravity="center"
            android:paddingTop="2dp"
            android:layout_marginTop="8dp" />

    </LinearLayout>

    </ScrollView>

</LinearLayout>

我不知道我错过了什么!

需要任何帮助吗?

和谢谢

android android-layout android-scrollview
3个回答
1
投票
ScrollView替换为

NestedScrollView,就像您在具有自己的滚动视图的ScrollView中使用Spinner一样。

这里更改了Xml代码<?xml version="1.0" encoding="utf-8"?> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:background="@color/white" android:padding="24dp"> <androidx.core.widget.NestedScrollView android:layout_width="match_parent" android:layout_height="wrap_content" android:fillViewport="true"> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" android:layout_marginTop="40dp" android:scrollbars="vertical" android:scrollbarAlwaysDrawVerticalTrack="true"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/address" android:padding="8dp" android:textColor="@color/colorPrimaryDark" android:textStyle="bold" android:gravity="center_horizontal"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/post_code" android:padding="8dp" android:layout_marginTop="10dp" android:textColor="@color/colorPrimaryDark"/> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:weightSum="1" android:background="@drawable/stork_wo"> <EditText android:layout_width="0dp" android:layout_height="wrap_content" android:maxLines="1" android:inputType="textPostalAddress" android:ems="10" android:hint="@string/post_code" android:id="@+id/etPostCode" android:textColorHint="@color/colorPrimary" android:textColor="@color/colorPrimaryDark" android:layout_weight="0.9" android:padding="8dp" android:layout_margin="1dp" android:background="@color/white"/> <Button android:layout_width="0dp" android:layout_height="wrap_content" android:background="@android:color/transparent" android:drawableEnd="@drawable/search" android:drawableRight="@drawable/search" android:drawablePadding="8dp" android:padding="8dp" android:id="@+id/btnSearch" android:drawableTint="@color/colorPrimary" android:layout_weight="0.1"/> </LinearLayout> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/select_an_address" android:padding="8dp" android:layout_marginTop="10dp" android:textColor="@color/colorPrimaryDark" android:textColorHint="@color/colorPrimary" /> <Spinner android:id="@+id/spinner1" android:layout_width="match_parent" android:layout_height="wrap_content" android:drawSelectorOnTop="true" android:layout_marginTop="10dp" android:padding="8dp" android:entries="@array/array_empty" android:textColor="@color/colorPrimaryDark" /> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/flat_number" android:padding="8dp" android:layout_marginTop="10dp" android:textColor="@color/colorPrimaryDark"/> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:maxLines="1" android:inputType="number" android:ems="10" android:background="@drawable/stork_wo" android:padding="8dp" android:id="@+id/etFlatNumber" android:hint="@string/flat_num_example" android:textColor="@color/colorPrimaryDark" android:textColorHint="@color/colorPrimary" /> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/address2" android:padding="8dp" android:layout_marginTop="10dp" android:textColor="@color/colorPrimaryDark"/> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:maxLines="1" android:inputType="text" android:ems="10" android:background="@drawable/stork_wo" android:padding="8dp" android:id="@+id/etAddress2" android:hint="@string/address2_example" android:textColor="@color/colorPrimaryDark" android:textColorHint="@color/colorPrimary" /> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/town" android:padding="8dp" android:layout_marginTop="10dp" android:textColor="@color/colorPrimaryDark"/> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:maxLines="1" android:inputType="text" android:ems="10" android:background="@drawable/stork_wo" android:padding="8dp" android:id="@+id/etTown" android:hint="@string/town_example" android:textColor="@color/colorPrimaryDark" android:textColorHint="@color/colorPrimary" /> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/city" android:padding="8dp" android:layout_marginTop="10dp" android:textColor="@color/colorPrimaryDark"/> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:maxLines="1" android:inputType="text" android:ems="10" android:background="@drawable/stork_wo" android:padding="8dp" android:id="@+id/etCity" android:hint="@string/town_example" android:textColorHint="@color/colorPrimary" android:textColor="@color/colorPrimaryDark" /> <Button android:id="@+id/btnNext" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/button" android:text="@string/save" android:textAllCaps="false" android:textColor="@color/white" android:textSize="18sp" android:gravity="center" android:paddingTop="2dp" android:layout_marginTop="8dp" /> <Button android:id="@+id/btnCancel" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/button" android:text="@string/cancel" android:textAllCaps="false" android:textColor="@color/white" android:textSize="18sp" android:gravity="center" android:paddingTop="2dp" android:layout_marginTop="8dp" /> </LinearLayout> </androidx.core.widget.NestedScrollView> </LinearLayout>

希望,它对您有用!!


1
投票
<LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:background="@color/white" android:padding="24dp"> <ScrollView android:layout_width="match_parent" android:layout_height="wrap_content" android:fillViewport="true"> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" android:scrollbars="vertical" android:scrollbarAlwaysDrawVerticalTrack="true"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/address" android:padding="8dp" android:layout_marginTop="40dp" android:textColor="@color/colorPrimaryDark" android:textStyle="bold" android:gravity="center_horizontal"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/post_code" android:padding="8dp" android:layout_marginTop="10dp" android:textColor="@color/colorPrimaryDark"/> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:weightSum="1" android:background="@drawable/stork_wo"> <EditText android:layout_width="0dp" android:layout_height="wrap_content" android:maxLines="1" android:inputType="textPostalAddress" android:ems="10" android:hint="@string/post_code" android:id="@+id/etPostCode" android:textColorHint="@color/colorPrimary" android:textColor="@color/colorPrimaryDark" android:layout_weight="0.9" android:padding="8dp" android:layout_margin="1dp" android:background="@color/white"/> <Button android:layout_width="0dp" android:layout_height="wrap_content" android:background="@android:color/transparent" android:drawableEnd="@drawable/search" android:drawableRight="@drawable/search" android:drawablePadding="8dp" android:padding="8dp" android:id="@+id/btnSearch" android:drawableTint="@color/colorPrimary" android:layout_weight="0.1"/> </LinearLayout> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/select_an_address" android:padding="8dp" android:layout_marginTop="10dp" android:textColor="@color/colorPrimaryDark" android:textColorHint="@color/colorPrimary" /> <Spinner android:id="@+id/spinner1" android:layout_width="match_parent" android:layout_height="wrap_content" android:drawSelectorOnTop="true" android:layout_marginTop="10dp" android:padding="8dp" android:entries="@array/array_empty" android:textColor="@color/colorPrimaryDark" /> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/flat_number" android:padding="8dp" android:layout_marginTop="10dp" android:textColor="@color/colorPrimaryDark"/> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:maxLines="1" android:inputType="number" android:ems="10" android:background="@drawable/stork_wo" android:padding="8dp" android:id="@+id/etFlatNumber" android:hint="@string/flat_num_example" android:textColor="@color/colorPrimaryDark" android:textColorHint="@color/colorPrimary" /> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/address2" android:padding="8dp" android:layout_marginTop="10dp" android:textColor="@color/colorPrimaryDark"/> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:maxLines="1" android:inputType="text" android:ems="10" android:background="@drawable/stork_wo" android:padding="8dp" android:id="@+id/etAddress2" android:hint="@string/address2_example" android:textColor="@color/colorPrimaryDark" android:textColorHint="@color/colorPrimary" /> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/town" android:padding="8dp" android:layout_marginTop="10dp" android:textColor="@color/colorPrimaryDark"/> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:maxLines="1" android:inputType="text" android:ems="10" android:background="@drawable/stork_wo" android:padding="8dp" android:id="@+id/etTown" android:hint="@string/town_example" android:textColor="@color/colorPrimaryDark" android:textColorHint="@color/colorPrimary" /> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/city" android:padding="8dp" android:layout_marginTop="10dp" android:textColor="@color/colorPrimaryDark"/> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:maxLines="1" android:inputType="text" android:ems="10" android:background="@drawable/stork_wo" android:padding="8dp" android:id="@+id/etCity" android:hint="@string/town_example" android:textColorHint="@color/colorPrimary" android:textColor="@color/colorPrimaryDark" /> <Button android:id="@+id/btnNext" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/button" android:text="@string/save" android:textAllCaps="false" android:textColor="@color/white" android:textSize="18sp" android:gravity="center" android:paddingTop="2dp" android:layout_marginTop="8dp" /> <Button android:id="@+id/btnCancel" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/button" android:text="@string/cancel" android:textAllCaps="false" android:textColor="@color/white" android:textSize="18sp" android:gravity="center" android:paddingTop="2dp" android:layout_marginTop="8dp" /> </LinearLayout> </ScrollView>


0
投票
现在可以成功运行了。。

这是我的新布局:

<LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:background="@color/white" android:padding="24dp"> <android.support.v4.widget.NestedScrollView android:id="@+id/nestedScrollView" android:layout_width="match_parent" android:layout_height="match_parent" android:overScrollMode="never"> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" android:layout_marginTop="40dp" android:scrollbars="vertical" android:scrollbarAlwaysDrawVerticalTrack="true"> ..... </LinearLayout> </android.support.v4.widget.NestedScrollView> </LinearLayout>
© www.soinside.com 2019 - 2024. All rights reserved.