gpt4 book ai didi

android - 带有折叠工具栏布局的 NestedScrollView 中的圆角

转载 作者:行者123 更新时间:2023-12-04 23:58:39 27 4
gpt4 key购买 nike

我正在使用带有标题图像的 CoordinatorLayout 制作详细 View ,我想在具有 NestedScrollView 的 View 中应用圆角边缘,如下所示:
introducir la descripción de la imagen aquí
我正在使用带有标题图像的 CoordinatorLayout 制作详细 View ,我想在具有 NestedScrollView 的 View 中应用圆角边缘,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout 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"
tools:context=".MainActivity">

<com.google.android.material.appbar.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fitsSystemWindows="true">

<com.google.android.material.appbar.CollapsingToolbarLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
app:contentScrim="@color/white"
app:layout_scrollFlags="scroll|exitUntilCollapsed">

<ImageView
android:layout_width="match_parent"
android:layout_height="320dp"
android:importantForAccessibility="no"
android:scaleType="centerCrop"
android:src="@drawable/collapsing_image"
app:layout_collapseMode="parallax" />

<com.google.android.material.appbar.MaterialToolbar
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:layout_collapseMode="pin" />

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

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

<androidx.core.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="-20dp"
android:background="@drawable/rounded_collapsing_toolbar"
app:layout_behavior="@string/appbar_scrolling_view_behavior">

<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="20dp"
android:text="@string/text_collapsing" />

</androidx.core.widget.NestedScrollView>

</androidx.coordinatorlayout.widget.CoordinatorLayout>
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#FFFFFF" />
<corners
android:topLeftRadius="20dp"
android:topRightRadius="20dp" />
</shape>
问题之一是它开始做奇怪的事情,因为当我放置负边距时,当我展开工具栏时,我看到 -20dp 的白色部分,直到它开始显示图像。
我试图将其作为一种“假 View ”放入 CollapsingToolbar 内部,但我在这里发现的问题是,在内部,它也会折叠,例如,如果我的工具栏颜色不同于 ScrollView ,当我展开它时你可以看到不同...

最佳答案

您需要做一些事情来解决此问题:

  • 添加 enterAlways滚动标志到 CollapsingToolbarLayout : 这启用了“快速返回”模式,在您的情况下,该模式允许在 CollapsingToolbarLayout 时显示圆形背景。开始扩大。

  • documentation here 也清楚地解释了这一点。 :

    When entering (scrolling on screen) the view will scroll on any downwards scroll event, regardless of whether the scrolling view is also scrolling. This is commonly referred to as the 'quick return' pattern.


    现在滚动标志应该是: app:layout_scrollFlags="scroll|exitUntilCollapsed|enterAlways"
  • 删除 android:fitsSystemWindows="true"来自 AppBarLayout : 离开它会导致影响 NestedScrollView 的滚动行为的问题。当您尝试向上滚动(即折叠 CollapsingToolbarLayout )时,NestedScrollView 的滚动行为不会传播到 CollapsingToolbarLayout使其处于展开状态。所以,你需要删除它。

  • 预览:
    我已更改 app:contentScrim颜色与 NestedScrollView 不同背景以显示行为:

    关于android - 带有折叠工具栏布局的 NestedScrollView 中的圆角,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71209338/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com