我有一个带有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>