如何从下到上更改Android Snackbar的初始对齐方式?

apo*_*low 14 android material-design snackbar android-design-library android-snackbar

最近的android库就在几天前发布了,但是我希望它SnackBar出现在屏幕的顶部,最好是在RelativeLayout中,因为它是父视图.

怎样才能改变SnackBar这我相信是的初始对准layout_alignParentBottomlayout_alignParentTop

apo*_*low 31

可以使用以下方法使快餐栏显示在屏幕顶部:

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()
Run Code Online (Sandbox Code Playgroud)

注意:小吃店的动画从底部开始,并按预期激增到屏幕顶部,因为根据ianhanniballake的回答,它的目的是在底部.

对于从顶部涌来的通知,最好是获得自定义横幅.


ian*_*ake 13

不,根据Snackbars的材料设计规范:

Snackbars通过在屏幕底部显示简短消息来提供有关操作的轻量级反馈.

由于设计库试图实现材料设计规范,因此无法将Snackbar定位在除屏幕底部(或包含CoordinatorLayout)之外的任何位置.