gpt4 book ai didi

android - Android 的 Material Components 中新的 ExtendedFloatingActionButton 的收缩和扩展功能不起作用

转载 作者:行者123 更新时间:2023-11-29 23:02:43 24 4
gpt4 key购买 nike

我正在使用来自 Material Components for Android 库 1.1.0-alpha06 的新ExtendedFloatingActionButton。它呈现得很好,但“扩展”和“收缩”方法没有做任何事情。

<com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton
android:id="@+id/extended_fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_anchor="@id/bottom_sheet"
android:text="Drag map to change location"
app:icon="@drawable/my_location"
app:backgroundTint="@color/white"
app:iconTint="@color/quantum_googblueA200"
android:textColor="@color/quantum_googblueA200"
app:iconSize="18dp"
style="@style/Widget.MaterialComponents.ExtendedFloatingActionButton"
android:padding="4dp"
android:textSize="12sp"
android:textAllCaps="false"
android:layout_margin="8dp"
app:layout_anchorGravity="right|top"/>

这是呈现的布局:

Rendered Layout

最佳答案

这是一个 Kotlin 版本,它与内置的联系人应用程序的行为相匹配。只要 RecyclerView 位于顶部,FAB 就会扩展,而只要用户滚动离开顶部,FAB 就会缩小。

class FabExtendingOnScrollListener(
private val floatingActionButton: ExtendedFloatingActionButton
) : RecyclerView.OnScrollListener() {
override fun onScrollStateChanged(recyclerView: RecyclerView, newState: Int) {
if (newState == RecyclerView.SCROLL_STATE_IDLE
&& !floatingActionButton.isExtended
&& recyclerView.computeVerticalScrollOffset() == 0
) {
floatingActionButton.extend()
}
super.onScrollStateChanged(recyclerView, newState)
}

override fun onScrolled(recyclerView: RecyclerView, dx: Int, dy: Int) {
if (dy != 0 && floatingActionButton.isExtended) {
floatingActionButton.shrink()
}
super.onScrolled(recyclerView, dx, dy)
}
}

用法:

recyclerView.addOnScrollListener(FabExtendingOnScrollListener(fab))

关于android - Android 的 Material Components 中新的 ExtendedFloatingActionButton 的收缩和扩展功能不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56822412/

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