在与用户的交互中,最为常用的Toast和Dialog,但二者都存在其局限,Toast无法与用户进行交互,Dialog虽然可以与用户交互,但却会阻断用户操作的连贯性,介于二者之间的平衡,Snackbar孕育而生

自定义Toast

首先我们来做一个自定义的Toast

public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}public void showToast(View v) {//Toast.makeText(this,"toast show",Toast.LENGTH_SHORT).show();Toast result = new Toast(this);LayoutInflater inflate = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);View view = inflate.inflate(R.layout.toast_layout, null);result.setView(view);result.setDuration(Toast.LENGTH_SHORT);result.show();}
}

toast_layout.xml就是一个简单的图片加文字的布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="horizontal"><ImageViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:src="@mipmap/ic_launcher_round" /><TextViewandroid:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="1"android:layout_gravity="center"android:text="自定义Toast" /></LinearLayout>

Snackbar使用

public void showSnackbar(View view) {//Snackbar.LENGTH_SHORT:短时间//Snackbar.LENGTH_LONG:长时间//Snackbar.LENGTH_INDEFINITE:不消失Snackbar snackbar = Snackbar.make(view,"是否关闭WIFI",Snackbar.LENGTH_INDEFINITE);//只能设置单个actionsnackbar.setAction("确定", new View.OnClickListener() {@Overridepublic void onClick(View v) {showToast(v);}});snackbar.show();
}

Snackbar的使用其实很简单,设置显示内容,设置action,然后监听就完事了
其主要优势在于不会打断用户操作,保证用户的使用体验
项目效果如下:

高级UI-Snackbar相关推荐

  1. android炫酷动画代码,Android高级UI特效仿直播点赞动画效果

    Android高级UI特效仿直播点赞动画效果 发布时间:2020-10-02 16:06:18 来源:脚本之家 阅读:117 作者:mrr 本文给大家分享高级UI特效仿直播点赞效果-一个优美炫酷的点赞 ...

  2. html触摸电脑ui系统,如何用高级UI制作触摸系统界面

    一.什么是触摸系统 触摸系统实际上是一个令玩家与作品中的角色产生互动的环节.顾名思义,通过模拟触摸这个行为,来令作品中的角色产生不同的反应.说出不同的台词.设计巧妙的触摸系统,一方面可以增添作品的可玩 ...

  3. android scroller,高级UI第四十四篇:Android Scroller详解

    滚动视图的方法有两种:scrollTo和scrollBy,而Scroller就是它们的辅助工具类,所以Scroller是学好高级UI必不可少的一课. (1)scrollTo.scrollBy.getS ...

  4. NC高级UI工厂笔记

    NC高级UI工厂笔记 本篇文章主要介绍了"NC高级UI工厂笔记",主要涉及到NC高级UI工厂笔记方面的内容,对于NC高级UI工厂笔记感兴趣的同学可以参考一下. 1.控制按钮是否可见 ...

  5. Android 高级UI解密 (三) :Canvas裁剪 与 二维、三维Camera几何变换(图层Layer原理)

    Android的绘图机制是核心内容之一,无论是什么样的功能最终都是以图像的形式呈现给用户.因此掌握Android的绘图技巧,有助于Android理解层次的提高,在面对产品经理提出的idea时也更有底气 ...

  6. Android高级UI系列教程(二)

    上期回顾 Android高级UI系列教程(一)_我想月薪过万的博客-CSDN博客https://blog.csdn.net/qq_41885673/article/details/121870917 ...

  7. 从初级晋级高级UI设计师学习路线+全套视频

    不管是零基础小白,还是已经入行学设计的年轻人,在学习UI的路上,难免深受这些难题的困扰: ◆ 如何才能成功进攻UI行业呢? ◆ 零基础怎样学习才能更快入门.学起来更有效率? ◆ 怎么确保自己学到的是市 ...

  8. 小白到高级UI设计师,如何实现完美蜕变?

    随着移动互联网的发展,UI设计师的作用愈加明显,UI设计师承担着企业与用户之间沟通的桥梁,优秀的UI设计师能够给用户良好的体验.对于新手学习UI设计来说更是需要勇敢地迈出头一步,但有些行业中原则性的问 ...

  9. 广州优漫动游公司:高级UI/UE交互设计就业班学什么?

    广州ui设计培训学校,UI交互设计培训,ui界面设计培训,UI培训学校,ui界面交互设计培训,UI培训哪个学校好–高级UI交互设计就业班.UI设计培训,高级UI/UE交互设计就业班. 一.培训特色 项 ...

  10. 你连《Android高级UI与FrameWork源码》都搞不懂学什么Android?还敢面试阿里P7!

    Android高级UI与FrameWork源码 重要性? 这块知识是现今使用者最多的,我们称之为Android2013~2016年的技术,但是,即使是这样的技术,Android开发者也往往因为网上Co ...

最新文章

  1. 【解题报告系列】超高质量题单 + 题解(ACM / OI)超高质量题解
  2. jsp页面生成验证码且验证
  3. a类不确定度计算器_统统帮您搞定:LIMS系统,换版、内审、期间核查、不确定度、数据分析…………...
  4. PAT甲级1043 Is It a Binary Search Tree :[C++题解]判断二叉搜索树BST、给定前序序列和中序序列
  5. 通过防火墙堵住×××安全漏洞
  6. Java黑皮书课后题第4章:*4.11(十进制转十六进制)编写程序,提示用户输入0~15之间的一个整数,显示其对应的十六进制数。对于不正确的输入数字,提示非法输入
  7. 信息学奥赛一本通(1318:【例5.3】自然数的拆分)
  8. 最新解决laravel框架路由无法显示的问题
  9. QTP自动化测试从零基础到精通进阶(脚本测试、VBS语法、描述性编程、测试框架)...
  10. inline详细讲解【C语言】
  11. 一个标准的k-means(误差平方和版本)
  12. 【计算大于这个整数的最小质数】
  13. 怎么看曲线有没有斜渐近线_怎样判断一个曲线有无斜渐近线
  14. 关于程序员发展的一些遐想-个人笔记
  15. 吕文翰 php,自己动手打造基于 WKWebView 的混合开发框架(二)——js 向 Native 一句话传值并反射出 Swift 对象执行指定函数...
  16. E03.04 Blue-Collar Boom: How China Bounced Back From the Virus
  17. Java PDF数字签名(一) - 添加数字签名
  18. 一文解决Python所有报错
  19. 微信小程序中的iPhone X适配解决
  20. Visual Studio 2012 编译C

热门文章

  1. 通用计算机教育,计算机教学计划(通用3篇)
  2. 对于stm32F103芯片读AT24C512得到的数据全是0xFF的解决办法
  3. java后台生成图片(加载外部字体)
  4. C语言结构体中定义函数指针详解
  5. 初入模具制造业的新人,迎来老师傅的25个灵魂问答!值得收藏
  6. 深度好文 | 带你了解「无代码开发」发展始末,建议收藏
  7. oracle wrapped原理,oracle 加密存储过程create_wrapped
  8. Kubernetes基础:ConfigMap:无法找到key的对应方法
  9. 湖南科技超级计算机,创新造就湖南 科技改变未来|走近“天河二号”!世界最快的“超级计算”...
  10. 通话记录模拟v1.0安卓