snackbar显示在导航栏中,请将其放在上面

oug3syen  于 2021-07-08  发布在  Java
关注(0)|答案(1)|浏览(427)

我在一个动态模块的项目中工作。在这里,我们可以在 Jmeter 板模块中找到一个导航栏。但我在另一个模块工作,视图是一个与 Jmeter 板活动相关的片段。我想显示一个snackbar,但我的问题是snackbar不是显示在片段视图的底部,而是显示在导航栏中(我附上了照片)。我试过好几件事,但不知道怎么解决。
我就是这样创建snackbar的:

Snackbar.make(it, "test", Snackbar.LENGTH_INDEFINITE).show()

这是我的片段布局:

<?xml version="1.0" encoding="utf-8"?>

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fillViewport="true">

 <androidx.constraintlayout.widget.ConstraintLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    xmlns:app="http://schemas.android.com/apk/res-auto">

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintBottom_toBottomOf="parent"
        android:textAlignment="center"
        android:text="Welcome"/>

 </androidx.constraintlayout.widget.ConstraintLayout>
 </ScrollView>

snackbar的图像
我们的snackbar应用程序的图像

6gpjuf90

6gpjuf901#

您可以这样设置您的snackbar的边距:

Snackbar snack = Snackbar.make(coordinatorLayout, "test", Snackbar.LENGTH_LONG);
CoordinatorLayout.LayoutParams params = (CoordinatorLayout.LayoutParams) 
                                         snack.getView().getLayoutParams();
params.setMargins(0, 0, 0, bottomBarHeight);
snack.getView().setLayoutParams(params);
snack.show();

相关问题