热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Snackbar使用详解:snackbar绘本制作

本文主要介绍关于android,material-design的知识点,对【Snackbar使用详解】和【snackbar绘本制作】有兴趣的朋友可以看下由【Time机】投稿的技术文章,希望该技术和经

本文主要介绍关于android,material-design的知识点,对【Snackbar使用详解】和【snackbar绘本制作】有兴趣的朋友可以看下由【Time 机】投稿的技术文章,希望该技术和经验能帮到你解决你所遇的【AndroidMateriaDesignUI】相关技术问题。

snackbar绘本制作

Snackbar

Snackbar是Android Support Design Library库中的一个控件,可以在屏幕底部快速弹出消息,比Toast更加好用。

开发出一个好的产品,友好的交互是不可缺少的,通常给用户提示信息的方式有三种:Dialog、Toast、Snackbar

本文主要讲解Snackbar

Snackbar 是一种针对操作的轻量级反馈机制,常以一个小的弹出框的形式,出现在手机屏幕下方或者桌面左下方。它们出现在屏幕所有层的最上方,包括浮动操作按钮。
它们会在超时或者用户在屏幕其他地方触摸之后自动消失。Snackbar 可以在屏幕上滑动关闭。当它们出现时,不会阻碍用户在屏幕上的输入,并且也不支持输入。屏幕上同时最多只能现实一个 Snackbar。

官方推荐结合CoordinatorLayout使用,有俩个好处:

1.用户可以滑动(右滑)消除掉snackbar。
2.当snackbar出现的时候,布局会移动一些UI元素,比如右下角的悬浮按钮会自动上移。

通常使用的Toast,如果每次弹出的对象都使用其make方法的话,那么多次点击弹出会造成接连弹出(上一个消失后弹出)toast的现象,持续到所有的toast对象弹出。如果使用toast的单例模式,多次点击只会在弹出的Toast消失后有效,继而弹出下一个Toast。对于Snackbar而言,每次使用make方法多次点击弹出的话,会让正在显示的Snackbar对象马上消失,显示新的对象。

基本使用
Snackbar.make(view, message_text, duration).show();
//显示时间duration有三种类型LENGTH_SHORT、LENGTH_LONG和LENGTH_INDEFINITE。
 时间短是2S,长是3.5S,设置为不确定时,就需要结合setDuration(int)方法一起使用,设定显示时间,
 否则不会消失

//设置可单击
Snackbar.make(v, "test", Snackbar.LENGTH_SHORT)
        .setAction("这是Action", new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(SnackbarActivity.this, "点击了Action", Toast.LENGTH_SHORT).show();
            }
        }).show();
修改背景及文字颜色

先看下内部加载布局

    Snackbar snackbar = Snackbar.make(v, "test", Snackbar.LENGTH_SHORT);
    snackbar.getView().setBackgroundColor(Color.MAGENTA);
    ((TextView) snackbar.getView().findViewById(R.id.snackbar_text)).setTextColor(Color.CYAN);
    snackbar.show();

    //修改button的颜色可直接调用setActionTextColor方法
添加图片
    Snackbar snackbar = Snackbar.make(v, "test", Snackbar.LENGTH_SHORT);
    Drawable img = getResources().getDrawable(R.mipmap.ic_launcher);
    img.setBounds(0, 0, img.getMinimumWidth() - 20, img.getMinimumHeight() - 80);
    ((TextView) snackbar.getView().findViewById(R.id.snackbar_text)).setCompoundDrawables(img, null, null, null);
    ((TextView) snackbar.getView().findViewById(R.id.snackbar_text)).setGravity(Gravity.CENTER_VERTICAL);
    snackbar.show();
    //添加图片的方式还有其他的方式,谷歌官方也不建议往其中加入图片,如果按照以上方式添加图片展示,要想正常展示图片又不撑开布局的高度,需要注意图片的原始大小

总体效果图:

现在你有三种方式可以给用户提示信息,Dialog、Toast和Snackbar,下面我们对这三种方式的使用时机做个总结

Dialog:当提示信息是至关重要的,并且必须要由用户做出决定才能继续的时候,使用Dialog。
Toast:当提示信息只是告知用户某个事情发生了,用户不需要对这个事情做出响应的时候,使用Toast。
Snackbar:以上两者之外的任何其他场景,Snackbar可能会是你最好的选择。

Demo地址:https://github.com/Kriy/AndroidMaterialDesignUI 不断完善中。。。如果觉得还行给个Star!

本文《Snackbar使用详解》版权归Time 机所有,引用Snackbar使用详解需遵循CC 4.0 BY-SA版权协议。


推荐阅读
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • 拥抱Android Design Support Library新变化(导航视图、悬浮ActionBar)
    转载请注明明桑AndroidAndroid5.0Loollipop作为Android最重要的版本之一,为我们带来了全新的界面风格和设计语言。看起来很受欢迎࿰ ... [详细]
  • 带添加按钮的GridView,item的删除事件
    先上图片效果;gridView无数据时显示添加按钮,有数据时,第一格显示添加按钮,后面显示数据:布局文件:addr_manage.xml<?xmlve ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 本文介绍了django中视图函数的使用方法,包括如何接收Web请求并返回Web响应,以及如何处理GET请求和POST请求。同时还介绍了urls.py和views.py文件的配置方式。 ... [详细]
  • Android源码中的Builder模式及其作用
    本文主要解释了什么是Builder模式以及其作用,并结合Android源码来分析Builder模式的实现。Builder模式是将产品的设计、表示和构建进行分离,通过引入建造者角色,简化了构建复杂产品的流程,并且使得产品的构建可以灵活适应变化。使用Builder模式可以解决开发者需要关注产品表示和构建步骤的问题,并且当构建流程发生变化时,无需修改代码即可适配新的构建流程。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 自动轮播,反转播放的ViewPagerAdapter的使用方法和效果展示
    本文介绍了如何使用自动轮播、反转播放的ViewPagerAdapter,并展示了其效果。该ViewPagerAdapter支持无限循环、触摸暂停、切换缩放等功能。同时提供了使用GIF.gif的示例和github地址。通过LoopFragmentPagerAdapter类的getActualCount、getActualItem和getActualPagerTitle方法可以实现自定义的循环效果和标题展示。 ... [详细]
  • Html5-Canvas实现简易的抽奖转盘效果
    本文介绍了如何使用Html5和Canvas标签来实现简易的抽奖转盘效果,同时使用了jQueryRotate.js旋转插件。文章中给出了主要的html和css代码,并展示了实现的基本效果。 ... [详细]
  • Android开发实现的计时器功能示例
    本文分享了Android开发实现的计时器功能示例,包括效果图、布局和按钮的使用。通过使用Chronometer控件,可以实现计时器功能。该示例适用于Android平台,供开发者参考。 ... [详细]
  • Android工程师面试准备及设计模式使用场景
    本文介绍了Android工程师面试准备的经验,包括面试流程和重点准备内容。同时,还介绍了建造者模式的使用场景,以及在Android开发中的具体应用。 ... [详细]
  • 本文介绍了iOS开发中检测和解决内存泄漏的方法,包括静态分析、使用instruments检查内存泄漏以及代码测试等。同时还介绍了最能挣钱的行业,包括互联网行业、娱乐行业、教育行业、智能行业和老年服务行业,并提供了选行业的技巧。 ... [详细]
  • 抽空写了一个ICON图标的转换程序
    抽空写了一个ICON图标的转换程序,支持png\jpe\bmp格式到ico的转换。具体的程序就在下面,如果看的人多,过两天再把思路写一下。 ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有