gpt4 book ai didi

java - float Action 按钮点击时会跳转

转载 作者:太空宇宙 更新时间:2023-11-04 09:36:59 26 4
gpt4 key购买 nike

当我点击FAB显示Snackbar时,Fab跳转并且Snackbar隐藏了Fab enter image description here

enter image description here

我的代码

<androidx.coordinatorlayout.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
android:id="@+id/main_coordinator_layout">

<com.google.android.material.bottomappbar.BottomAppBar
android:id="@+id/bottom_app_bar"
app:fabAlignmentMode="center"
android:layout_width = match_parent
android:layout_height = wrap_content
android:layout_gravity = bottom
android:backgroundTint" = @color/colorPrimary
fabCradleMargin" = 15dp
fabCradleRoundedCornerRadius = 15dp
hideOnScroll = true
layout_scrollFlags = scroll|enterAlways
buttonGravity = bottom
app:menu="@menu/menu"/>

<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/fab"
android:src="@drawable/ic_plus"
app:layout_anchor="@id/bottom_app_bar"
android:layout_width = wrap_content
android:layout_height = wrap_content
android:backgroundTint = "@color/colorPrimaryDark"/>

</androidx.coordinatorlayout.widget.CoordinatorLayout>

我尝试更改 snackbar 上的参数 View ,但它不起作用

public void showSnackBar(CoordinatorLayout coordinatorLayout, FloatingActionButton fab, String text) {

Snackbar snackbar = Snackbar.make(coordinatorLayout, text, Snackbar.LENGTH_SHORT);
View snackBarView = snackbar.getView();
CoordinatorLayout.LayoutParams params = (CoordinatorLayout.LayoutParams) snackBarView.getLayoutParams();
params.setMargins(
params.leftMargin,
params.topMargin,
params.rightMargin,
params.bottomMargin + 100);
snackBarView.setLayoutParams(params);
snackbar.setAnchorView(fab);
snackbar.show();

}

我该如何修复它?这样FAB就不会跳转或者Snackbar不会出现

最佳答案

由于您使用的是 CoordinatorLayout,当 snackbar 显示时,FAB 将始终向上移动。

The CoordinatorLayout can listen to all it’s direct child view’s event, and when some event occured such as snackbar popup, it will move the floating button up also.

所以这是一种自然行为,因此为了避免这种情况,您应该创建自定义行为。那么,如何定制这种行为呢?您定义自己的Behavior子类,请阅读this教程以获取更多信息。

关于java - float Action 按钮点击时会跳转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56396724/

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