【发布时间】:2019-10-05 13:05:56
【问题描述】:
按照this 线程中给出的提示,我将小吃店的底部边距设置为 ca。 55 dp 以使其高于 FAB。
代码是 - 与另一个问题一样:
Snackbar snackbar = Snackbar.make(constraintLayoutContent, msg, Snackbar.LENGTH_LONG);
snackbar.setAction(action, v -> snackbar.dismiss());
View snackBarView = snackbar.getView();
CoordinatorLayout.LayoutParams params = (CoordinatorLayout.LayoutParams) snackBarView.getLayoutParams();
params.setMargins(params.leftMargin,
params.topMargin,
params.rightMargin,
params.bottomMargin + 500);
//params.gravity = Gravity.TOP;
snackBarView.setLayoutParams(params);
snackbar.show();
我面临的问题是,如果小吃栏位于屏幕底部 (params.gravity = Gravity.BOTTOM;),则不应用底部边距;但是,如果将快餐栏放置在屏幕顶部 (params.gravity = Gravity.TOP; params.topMargin = 500;),则会正确应用上边距。
问题的两张截图:
感谢您的帮助。
编辑:
以下是我的布局 xml 文件。不确定这是否有帮助,但我们来了。
<?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"
android:id="@+id/coordinatorLayoutContent"
android:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/constraintLayoutContent">
<FrameLayout
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
【问题讨论】:
-
我测试了你的代码,没有问题!
-
嗯,我不知道为什么它不适合我
-
发布您的 xml 布局可能会有所帮助!
-
这是一种奇怪的行为。我不知道为什么保证金底部不起作用。我不得不使用 Denny Weinberg 方法,或者我在底部导航栏下找到了小吃店。
标签: java android android-snackbar snackbar