零食棒从上到下.这可能吗?



我想从顶部提供SnackBar动画,而不是从底部显示SnackBar的常规行为。这容易破解吗?

这是可能的。查看我制作的这个库https://github.com/AndreiD/TSnackBar

基本上你添加了2个新的动画从顶部滑动,并改变布局的重力。就这些了:)

稍后编辑:有一个bug正在.... .如果有人想花点时间来修复它,我们都很感激:)

 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();

不可能。文档说明

它们在手机屏幕的底部显示一条简短的消息在较大的设备上左下角。零食排在所有其他零食的前面元素,一次只能显示一个。

您可以使用第三方库,例如Crouton

EDIT:此解决方案将Snackbar呈现在顶部,但动画从底部呈现。

这是可能的,至少有Android材质库和一个小技巧。你可以像这样将snackbar绑定到在顶部位置呈现的视图:

On activity_main.xml:

<!-- rest of the components here -->
<androidx.coordinatorlayout.widget.CoordinatorLayout
    android:id="@+id/top_coordinator"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="top"/>

On MainActivity.kt:

val snackbar = Snackbar.make(
    findViewById(R.id.top_coordinator),
    "Hello World",
    Snackbar.LENGTH_INDEFINITE
)
snackbar.show()

相关内容

  • 没有找到相关文章

最新更新