![](/img/trans.png)
[英]Empty UI when using ConstraintLayout in Fragments Android
[英]How to show a Snackbar in Android on the top when using ConstraintLayout in a nice way
我在 Android 中使用 ConstraintLayout,我想在屏幕顶部显示一条 Snackbar 消息。 我在 Stackoverflow 上发现了这个问题: 如何在屏幕顶部显示 Snackbar
点赞最多的答案很糟糕,因为它看起来很糟糕,因为您可以看到 Snackbar 的蜜蜂动画到顶部:
Snackbar snack = Snackbar.make(parentLayout, str, Snackbar.LENGTH_LONG);
View view = snack.getView();
FrameLayout.LayoutParams params =(FrameLayout.LayoutParams)view.getLayoutParams();
params.gravity = Gravity.TOP;
view.setLayoutParams(params);
snack.show();
第二个答案假设您使用的是我不使用的 CorrdinatorLayout
CoordinatorLayout coordinatorLayout=(CoordinatorLayout)findViewById(R.id.coordinatorLayout);
Snackbar snackbar = Snackbar.make(coordinatorLayout, "Text", Snackbar.LENGTH_LONG);
View view = snackbar.getView();
CoordinatorLayout.LayoutParams params=(CoordinatorLayout.LayoutParams)view.getLayoutParams();
params.gravity = Gravity.TOP;
view.setLayoutParams(params);
snackbar.show();
你知道我怎样才能以一种很好的方式在顶部的 ConstraintLayout 中显示 SnackBar(这意味着它只会在屏幕顶部弹出而不被动画到顶部)?
您可以使用第一段代码并执行以下操作:
添加此行以解决 animation 问题:
snackbar.setAnimationMode(BaseTransientBottomBar.ANIMATION_MODE_FADE);
如果这不起作用,试试这个:
snackbar.setAnchorView(*mention viewId above whom you want to show SnackBar*)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.