NestedScrollView无法滚动,内容被切断

时间:2019-07-28 17:01:47

标签: android android-layout

我有一个带有CollapsingToolbarLayout和在其下面的NestedScrollView的AppBar。 NestedScrollView包含用于在标签之间切换的视图分页器。

当我滚动屏幕时,一旦工具栏折叠,滚动就会停止。 NestedScrollView不会向上滚动以显示其余内容,而只是一个静态视图。

这是当前的样子:https://www.sfma.org.sg/member/category

在更大的屏幕上,这是相同的行为:https://imgur.com/a/lQivSMj

在较大的屏幕上,您可以看到所有视图只是因为屏幕较大且密度较大,但是在较小的屏幕上,这些视图不会滚动到屏幕上。它也不是在大屏幕上滚动,但我只是以它为例来显示视图的外观。

这是布局文件:

<?xml version="1.0" encoding="utf-8"?>
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/pullToRefresh"
    xmlns:android="http://schemas.android.com/apk/res/android">
    <androidx.coordinatorlayout.widget.CoordinatorLayout
        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"
        app:layout_behavior="@string/appbar_scrolling_view_behavior"
        tools:context=".MainActivity">

        <com.airbnb.lottie.LottieAnimationView
            android:id="@+id/loading_icon"
            android:layout_width="100dp"
            android:layout_height="100dp"
            app:lottie_fileName="loadingIconDarkTheme.json"
            app:lottie_loop="true"
            app:lottie_speed="1"
            app:lottie_autoPlay="true"
            android:layout_gravity="center"/>

        <com.google.android.material.floatingactionbutton.FloatingActionButton
            android:id="@+id/weatherAlertFAB"
            android:visibility="gone"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="end|top"
            android:layout_marginTop="84dp"
            android:layout_marginEnd="12dp"
            app:layout_collapseMode="pin"
            android:src="@drawable/ic_warning"
            android:background="@android:color/holo_red_light"
            android:backgroundTint="@android:color/holo_red_light" />

        <com.google.android.material.appbar.AppBarLayout
            android:id="@+id/appBarLayout"
            android:layout_width="match_parent"
            android:layout_height="500dp"
            android:fitsSystemWindows="true">

            <com.google.android.material.appbar.CollapsingToolbarLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:fitsSystemWindows="true"
                android:minHeight="?attr/actionBarSize"
                app:contentScrim="?attr/colorPrimary"
                app:layout_scrollFlags="scroll|exitUntilCollapsed"
                app:titleEnabled="false">

                <RelativeLayout
                    android:layout_width="match_parent"
                    android:layout_height="match_parent">

                    <RelativeLayout
                        android:id="@+id/temperatureGroup"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:orientation="vertical"
                        android:layout_marginTop="100dp"
                        android:layout_marginStart="24dp">

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

                            <TextView
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:id="@+id/high_temp"
                                android:textSize="16sp"/>

                            <TextView
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:id="@+id/low_temp"
                                android:textSize="16sp"
                                android:layout_marginStart="12dp"/>
                        </LinearLayout>

                        <TextView
                            android:id="@+id/temperature"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:textSize="112sp"
                            android:layout_marginTop="12dp"
                            android:fontFamily="@font/roboto_thin"/>

                        <TextView
                            android:id="@+id/apparentTemperature"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:textSize="16sp"
                            android:layout_below="@id/temperature"/>

                    </RelativeLayout>

                    <com.airbnb.lottie.LottieAnimationView
                        android:id="@+id/weatherIcon"
                        android:layout_width="100dp"
                        android:layout_height="100dp"
                        android:layout_marginStart="48dp"
                        android:layout_toEndOf="@id/temperatureGroup"
                        android:layout_marginTop="135dp"
                        app:lottie_autoPlay="true"
                        app:lottie_loop="true"
                        app:lottie_speed="1" />

                    <TextView
                        android:id="@+id/weatherDescription"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_below="@+id/temperatureGroup"
                        android:layout_marginStart="24dp"
                        android:layout_marginTop="60dp"
                        android:layout_centerVertical="true"
                        android:textSize="16sp"/>

                    <LinearLayout
                        android:id="@+id/environmentalFactors"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:orientation="horizontal"
                        android:layout_marginTop="12dp"
                        android:layout_marginStart="24dp"
                        android:layout_below="@id/weatherDescription">

                        <ImageView
                            android:id="@+id/humidity_image"
                            android:visibility="invisible"
                            android:layout_width="16dp"
                            android:layout_height="16dp"
                            android:scaleType="fitXY"
                            android:src="?attr/humidityIconDrawable"
                            android:layout_gravity="center"/>

                        <TextView
                            android:id="@+id/humidity"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:textSize="16sp"
                            android:layout_marginStart="4dp"/>

                        <ImageView
                            android:id="@+id/wind_icon"
                            android:visibility="invisible"
                            android:layout_width="24dp"
                            android:layout_height="24dp"
                            android:scaleType="fitXY"
                            android:src="?attr/windIconDrawable"
                            android:layout_gravity="center"
                            android:layout_marginStart="12dp"/>

                        <TextView
                            android:id="@+id/wind_speed"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:textSize="16sp"
                            android:layout_marginStart="4dp"/>

                    </LinearLayout>

                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:textSize="12sp"
                        android:id="@+id/currentTime"
                        android:layout_marginStart="24dp"
                        android:layout_marginTop="12dp"
                        android:layout_below="@id/environmentalFactors"/>

                </RelativeLayout>

                <androidx.appcompat.widget.Toolbar
                    android:id="@+id/toolbar"
                    android:layout_width="match_parent"
                    android:layout_height="?attr/actionBarSize"
                    android:layout_gravity="top"
                    android:minHeight="?attr/actionBarSize"
                    android:layout_marginBottom="48dp"
                    app:layout_collapseMode="pin"
                    android:background="?attr/colorPrimary">

                    <CheckBox
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:id="@+id/locationStar"
                        android:button="?attr/starDrawable"
                        android:gravity="center_vertical"
                        android:layout_marginStart="16dp"/>

                    <ImageView
                        android:id="@+id/locationButton"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:src="?attr/myLocationDrawable"
                        android:layout_gravity="end"
                        android:layout_marginEnd="12dp"
                        android:background="?attr/selectableItemBackgroundBorderless"
                        android:clickable="true" />

                </androidx.appcompat.widget.Toolbar>

                <com.google.android.material.tabs.TabLayout
                    android:id="@+id/weather_tabs"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_gravity="bottom"

                    style="?attr/tabStyle"/>

            </com.google.android.material.appbar.CollapsingToolbarLayout>
        </com.google.android.material.appbar.AppBarLayout>

        <androidx.core.widget.NestedScrollView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:fillViewport="true"
            app:layout_behavior="@string/appbar_scrolling_view_behavior">

            <androidx.viewpager.widget.ViewPager
                android:id="@+id/main_viewpager"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                app:layout_behavior="@string/appbar_scrolling_view_behavior"/>

        </androidx.core.widget.NestedScrollView>
    </androidx.coordinatorlayout.widget.CoordinatorLayout>
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>

0 个答案:

没有答案