关于Snackbar的认识 用于代替toast
来源:互联网 发布:arp绑定与mac绑定区别 编辑:程序博客网 时间:2024/06/06 12:56
关于Snackbar的认识 用于代替toast
Snackbar.make(view, "This is a message! ", Snackbar.LENGTH_LONG).show();
参数1,view是谁都行 主要是activity布局上的一个view即可,
Snackbar.make(view, "This is a message! ", Snackbar.LENGTH_LONG)
.setAction("Action", new View.OnClickListener() { //给ACTION注册点击事件
@Override
public void onClick(View v) {
Toast.makeText(MainActivity.this,"111",Toast.LENGTH_SHORT).show();
}
}).setActionTextColor(Color.RED)
public void onClick(View v) {
Toast.makeText(MainActivity.this,"111",Toast.LENGTH_SHORT).show();
}
}).setActionTextColor(Color.RED)
.show();
snackbar设置背景颜色
Snackbar bar=Snackbar.make(rl_activity, "it is Snackbar",Snackbar.LENGTH_SHORT);
View v=bar.getView();
v.setBackgroundColor(Color.GREEN);
bar.show();
View v=bar.getView();
v.setBackgroundColor(Color.GREEN);
bar.show();
方式二:
思路:既然有虚拟按键栏遮挡Snackbar,那么我们就在显示Snackbar的同时隐藏掉虚拟按键栏,这样屏幕底部就只有Snackbar,也就不存在遮挡问题了,但是有两点需要注意,第一点,配置隐藏虚拟按键栏的flag时要注意配置全面一点,不然会出现点击屏幕又弹出虚拟按键栏的情况,第二点,当Snackbar消失时,记得再次把虚拟按键栏显示出来,不然屏幕底部会多出一块布局,很难看.不过以上这两点都不用操心了,我已经在代码中配置好了,直接复制粘贴就能用,代码需要注意的地方都已经注释清楚了.代码如下:
[java] view plain copy
- /**
- * 展示一个SnackBar
- */
- public void showSnackBar(String message) {
- //去掉虚拟按键
- getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
- | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION //隐藏虚拟按键栏
- | View.SYSTEM_UI_FLAG_IMMERSIVE //防止点击屏幕时,隐藏虚拟按键栏又弹了出来
- );
- final Snackbar snackbar = Snackbar.make(getWindow().getDecorView(), message, Snackbar.LENGTH_INDEFINITE);
- snackbar.setAction("知道了", new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- snackbar.dismiss();
- //隐藏SnackBar时记得恢复隐藏虚拟按键栏,不然屏幕底部会多出一块空白布局出来,和难看
- getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_VISIBLE);
- }
- }).show();
- }
这两种方法都可以实现效果,选择哪种方式都ok.
动态图录制完有点卡顿,实际效果很流畅
https://github.com/AndreiD/TSnackBar从顶部显示的snackbar
0 0
- 关于Snackbar的认识 用于代替toast
- 巧用Snackbar代替Toast
- Snackbar--Toast的替代者
- Snackbar和toast以及snackbar的样式自定义
- Snackbar 的使用 Toast加强版
- Demo4 告别Toast:精致的Snackbar
- Dialog、Toast、Snackbar的区别和使用
- Material Design 下的Toast 拓展 Snackbar
- Dialog Toast 和 Snackbar的使用经验
- Dialog、Toast、Snackbar的区别和使用
- Android中snackBar的使用【替换Toast】
- 关于弹窗Dialog,Toast,PopupWindow,SnackBar总结分析
- 您好 Snackbar, 再见Toast
- Toast替代者Snackbar
- Snackbar与Toast不同之处
- Android Toast与Snackbar
- Android Toast与Snackbar
- 关于Snackbar的简单了解
- (牛客)地下迷宫
- HMTL5调用手机摄像头拍照和获取相册
- linux下的stat指令以及三种时间
- 练习hacker站
- java调用dll文件
- 关于Snackbar的认识 用于代替toast
- react+babel2+fis3实现jsx报错Adjacent JSX elements must be wrapped in an enclosing tag (10:0)
- Android使用自定义的XML资源
- 2017 ATS
- windows 不用软件直接查看连接无线的密码
- 项目中应用Echarts
- Robotframework自动化新手常见问题总结--(基础篇)
- 一元夺宝
- JavaScript——数据类型