Android 如何使整个显示器可滚动

Android 如何使整个显示器可滚动,android,scrollview,expandablelistview,android-nestedscrollview,Android,Scrollview,Expandablelistview,Android Nestedscrollview,我正在为我的餐厅制作一个应用程序,当用户进入餐厅页面时,他或她将能够看到所有可选项目,如下图所示: 在这里,您可以看到我突出显示了一部分,该部分是可展开的listView。问题是,当我滚动可展开列表视图时,我希望整个页面向上滚动,而不仅仅是可展开列表。当我向任一方向滚动时,整个页面都是一个滚动 以下是我的XML代码: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xml

我正在为我的餐厅制作一个应用程序,当用户进入餐厅页面时,他或她将能够看到所有可选项目,如下图所示:

在这里,您可以看到我突出显示了一部分,该部分是可展开的listView。问题是,当我滚动可展开列表视图时,我希望整个页面向上滚动,而不仅仅是可展开列表。当我向任一方向滚动时,整个页面都是一个滚动

以下是我的XML代码:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
android:orientation="vertical"
tools:context=".UI_Activity.RestaurantDetail">

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

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

        <ImageButton
            android:id="@+id/RestaurantBackKey"
            android:layout_marginTop="10dp"
            android:layout_width="40dp"
            android:layout_marginStart="6dp"
            android:layout_height="30dp"
            android:gravity="center"
            android:background="?attr/selectableItemBackground"
            app:srcCompat="@drawable/ic_back_key"
            android:textStyle="bold"
            />

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:padding="5dp"
            android:textSize="20sp"
            android:textStyle="bold"
            android:layout_marginEnd="52dp"
            android:layout_marginTop="5dp"
            android:text="@string/app_name"/>

    </LinearLayout>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical">

        <androidx.cardview.widget.CardView
            android:layout_width="match_parent"
            android:layout_height="250dp"
            android:layout_marginStart="8dp"
            android:layout_marginTop="5dp"
            android:layout_marginEnd="8dp"
            android:layout_marginBottom="8dp"
            app:cardCornerRadius="13dp">

            <ImageView
                android:id="@+id/RestaurantImage"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:scaleType="centerCrop" />

        </androidx.cardview.widget.CardView>

        <TextView
            android:id="@+id/RestaurantName"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:padding="5dp"
            android:text="RestaurantName"
            android:textSize="20sp"
            android:textStyle="bold" />

        <TextView
            android:id="@+id/RestaurantTheme"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:padding="5dp"
            android:text=" This shop is based on the real thing"
            android:textSize="15sp"
            android:textStyle="italic" />

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="5dp"
            android:orientation="horizontal">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:padding="8dp"
                android:layout_marginStart="5dp"
                android:text="Offers"
                android:textSize="15sp"
                android:textStyle="bold" />

            <TextView
                android:id="@+id/OfferAvailability"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentEnd="true"
                android:layout_marginEnd="10dp"
                android:clickable="true"
                android:focusable="true"
                android:padding="8dp"
                android:text="No Offers %"
                android:textColor="#9BA176"
                android:textSize="15sp"
                android:textStyle="bold" />

        </RelativeLayout>

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Menu Item"
            android:gravity="center"
            android:textSize="18sp"
            android:padding="5dp"/>

    </LinearLayout>

    <ExpandableListView
        android:id="@+id/RestaurantItemList"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:footerDividersEnabled="false"
        android:headerDividersEnabled="false"
        android:smoothScrollbar="false" />

</LinearLayout>

有人能告诉我要做什么更改,或者在现有代码中要做什么布局或更新吗

我想要的是,当我滚动可扩展列表视图时,我希望整个屏幕都能随之滚动


提前感谢您

您可能应该将整个布局包装在
嵌套的滚动视图中
将整个布局放入
滚动视图中
,这将使所有内容都可滚动。

我可以通过为ExpandableListView创建自定义类来解决这个问题。在那里我做了一些改变,最终我能够实现我所期待的结果。谢谢


您可以参考此链接:

什么不起作用?你试过这些吗?当我使用NestedScrollView时,可扩展列表视图消失了!我的意思是在布局中找不到它!如果我将整个布局放在ScrollView中,那么可扩展列表视图将被包装高度!即使我使用匹配父项。我也试过了