【Android -- Material Design】Snackbar 的基本使用

不断学习,做更好的自己!💪

视频号CSDN简书
欢迎打开微信,关注我的视频号:程序员朵朵点我点我

前言

官网:Snackbar
1625196481(1).png

引入 material 包:

implementation 'com.google.android.material:material:1.2.1'

简述

Snackbar 是一种针对操作的轻量级反馈机制,常以一个小的弹出框的形式,出现在手机屏幕下方或者桌面左下方。它们出现在屏幕所有层的最上方,包括浮动操作按钮。

它们会在超时或者用户在屏幕其他地方触摸之后自动消失。Snackbar 可以在屏幕上滑动关闭。当它们出现时,不会阻碍用户在屏幕上的输入,并且也不支持输入。屏幕上同时最多只能现实一个 Snackbar。

Android 也提供了一种主要用于提示系统消息的胶囊状的提示框 Toast。Toast 同 Snackbar 非常相似,但是 Toast 并不包含操作也不能从屏幕上滑动关闭。

属性

Snackbar snackbar = Snackbar.make(coordinatorLayout, "Action 被点击", Snackbar.LENGTH_SHORT);snackbar.setText("动态文本");//动态设置文本显示内容snackbar.setActionTextColor(Color.RED);//动态设置Action文本的颜色snackbar.setDuration(5000);//动态设置显示时间View snackbarView = snackbar.getView();//获取Snackbar显示的View对象//获取显示文本View,并设置其显示颜色((TextView) snackbarView.findViewById(android.support.design.R.id.snackbar_text)).setTextColor(Color.BLUE);//获取Action文本View,并设置其显示颜色((TextView) snackbarView.findViewById(android.support.design.R.id.snackbar_action)).setTextColor(Color.BLUE);//设置Snackbar的背景色snackbarView.setBackgroundColor(Color.GREEN);//设置Snackbar显示的位置ViewGroup.LayoutParams params = snackbarView.getLayoutParams();CoordinatorLayout.LayoutParams layoutParams = new CoordinatorLayout.LayoutParams(params.width, params.height);layoutParams.gravity = Gravity.CENTER_VERTICAL;//垂直居中snackbarView.setLayoutParams(layoutParams);

使用

@OnClick(R.id.btn_cancel)public void click() {// make()实现简单弹出
//        Snackbar.make(mButton,"哈哈,我是Snackbar",Snackbar.LENGTH_SHORT).show();// setAction()添加按钮Snackbar.make(mButton, "Snack Bar Text", Snackbar.LENGTH_LONG).setAction("Go!", new View.OnClickListener() {@Overridepublic void onClick(View v) {Intent intent = new Intent(MainActivity.this, TestActivity.class);startActivity(intent);}}).setActionTextColor(Color.BLUE).show();}

Snackbar 与 Dialog 和 Toast 的比较

Dialog

模态对话框。也就说,此刻该对话框中的内容获取了焦点,想要操作对话框以外的功能,必须先对该对话框进行响应。

应用场景:对于删除确认、版本更新等重要性提示信息,需要用户做出选择的情况下,使用Dialog。

Toast

非模态提示框。也就说提示框的显示并不影响我们对其他地方的操作,Toast无法手动控制隐藏,需要设置Toast的显示时长,一旦显示时间结束,Toast会自动消失。如果多次点击并显示Toast,就会出现Toast重复创建并显示,给用户造成一种Toast长时间不隐藏的幻觉。

应用场景:对于无网络提示、删除成功、发布操作完成等这类不重要的提示性信息,使用Toast;

Snackbar

Snackbar和Toast比较相似,但是用途更加广泛,并且它是可以和用户进行交互的。Snackbar使用一个动画效果从屏幕的底部弹出来,过一段时间后也会自动消失。

应用场景:删除操作时,弹出Snackbar用于确认删除操作;消息发送失败时,弹出Snackbar,用于重新发送操作;当然重要的是与MD组件相结合,用户体验效果更佳。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部