首页
学习
活动
专区
圈层
工具
发布

Android开发笔记(一百三十四)协调布局CoordinatorLayout

协调布局CoordinatorLayout Android自5.0之后对UI做了较大的提升,一个重大的改进是推出了MaterialDesign库,而该库的基础即为协调布局CoordinatorLayout...协调布局的含义,指的是内部控件互相之前的动作关联,比如在A视图的位置发生变化之时,B视图的位置也按照某种规则来变化,仿佛弹钢琴有了协奏曲一般。...使用CoordinatorLayout时,要注意以下几点: 1、导入design库; 2、根布局采用android.support.design.widget.CoordinatorLayout; 3、...后面; 2、在隐藏、显示按钮上时会播放动画;其中隐藏操作是调用hide方法,显示操作是调用show方法; 3、FloatingActionButton默认会随着Snackbar的出现或消失而动态调整位置...,有关Snackbar的说明参见《Android开发笔记(一百二十七)活用提示窗Toast和Snackbar》; 下面是悬浮按钮自隐藏和显示时的动画效果截图: ?

2.4K30

CoordinatorLayout的最简入门

序言 本文力求用最短的篇幅,让读者明白CoordinatorLayout的用法。原理不作深入讨论。 CoordinatorLayout是什么 由Google加入Android系统的一个新的布局容器。...那些奇奇怪怪的View,只是Android官方为我们写好的示例。 CoordinatorLayout的核心是协调,它能够协调任何View之间的动作和效果。...它以Behavior类作为连接view的桥梁。 实例演示 需求:界面中有一个Button背景是绿色。点击它弹出一个Snackbar。当Snackbar完全弹出时,Button背景变为红色。...当Snackbar准备离开时,Button背景再度变为绿色。...parent 是 Button和Snackbar的容器 child 是Button dependency 是Snackbar 因为在本例中,是Button的背景色依赖Snackbar的位置变化。

1.2K80
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Snackbar使用详解及其相关框架TSnackbar

    他们在屏幕的底部显示一条简短的信息,如果是较大的设备就显示在左下角。SnackBar出现在屏幕中所有其他元素的上方,同一时间仅仅只有一条SnackBar”。...(); 监听的实现是通过CallBack接口实现的,setCallback(Snackbar.Callback callback):Snackbar的显示与隐藏的回调接口,在该接口中可以重写两个方法...:一个是onShow()在Snackbar显示时回调,另一个是onDismissed()在Snackbar隐藏时回调。...该事件下Snackbar退出的原因是;意思是“Snackbar右划退出事件”,注意这个右划事件只有在父布局为CoordinatorLayout才会被触发,其他布局如LinearLayout、RelativeLayout...该事件下Snackbar提出的原因:由于新的Snackbar的显示而退出。

    2.6K20

    Android开发笔记(一百三十七)自定义行为Behavior

    协调布局CoordinatorLayout能够让内部的子控件互相配合着移动,这跟以往孤立的控件运动截然不同,协调运动的结果,意味着App画面更加流畅、自然,也更符合日常生活中的动作场景...如果按照普通的实现方式,此种照镜子的动画效果,得给两个视图分别注册监听器,然后在A视图移动之际,同时触发B视图的移动行为。...另外一个Design库的例子,则是悬浮按钮FloatingActionButton配合提示条Snackbar,博文《Android开发笔记(一百三十四)协调布局CoordinatorLayout》提到,...女孩照镜子是在水平方向上协调运动的例子,生活中还有在垂直方向上协调运动的例子,比如使用定滑轮吊起重物,滑轮一端绳子吊着重物,另一端绳子连着人力;人力拉动绳子,重物就被吊上来,人力松开绳子,重物就会掉下来...,在onDependentViewChanged方法中定义重物视图配合人力拉曳时的运动行为; 3、在布局文件中放置定滑轮、人力视图、重物视图,并给重物视图指定layout_behavior属性,说明重物视图的协调动作

    1.4K20

    Android Material Design系列之FloatingActionButton和Snackbar

    默认正常显示时的背景颜色 app:elevation :FloatingActionButton阴影的深度,默认时的阴影 app:rippleColor:FloatingActionButton点击时的背景颜色...那我们现在就研究改如何在滑动列表时隐藏和显示这个悬浮按钮FloatingActionButton。...FloatingActionButton显示与隐藏 那如何实现滑动列表时,下滑显示和上滑隐藏的效果呢?...它的使用方式也是非常的简单,跟Toast差不多,代码如下: final Snackbar snackbar = Snackbar.make(view, "关注非著名程序员公众号了吗?"...(sl); snackbarLayout.addView(iconImage, 0); 改变Snackbar的位置 其实改变Snackbar的位置和设置icon的位置布局大同小异,代码如下: // 获取

    2.3K60

    Toast问题深度剖析(二)

    事实上, SnackBar 就是这样的方案。不过,如果不使用系统类型的窗口,就意味着你的Toast 界面,无法在其他应用之上显示。...(比如,我们经常看到的一个场景就是你在你的应用出调用了多次 Toast.show函数,然后退回到桌面,结果发现桌面也会弹出 Toast,就是因为系统的 Toast 使用了系统窗口,具有高的层级)不过在某些版本的手机上...使用子窗口: 在 Android 进程内,我们可以直接使用类型为子窗口类型的窗口。在 Android 代码中的直接应用是 PopupWindow 或者是 Dialog 。...最后当时序控制器 SnackBarManager 回调返回的时候,通知 SnackBar 显示,即将 SnackBar.mView 增加到 mTargetParent 控件中去。...的设计可以看出,SnackBar无法定制具体的样式: SnackBar 只能生成 SnackBarLayout 这种控件和布局,可能并不满足你的业务需求。

    5.1K124

    《移动互联网技术》第十一章 Android应用工程案例: 掌握Android系统的需求分析和设计以及 Android项目的程序测试和版本管理方法

    首先,实现日记卡片列表,活动的布局采用了协调布局(CoordinatorLayout),协调其子view,并以触摸影响布局的形式,从而产生动画效果,其典型的子View包括:悬浮按钮,SnackBar。...在其中,又加入了一个刷新布局(SwipeRefreshLayout布局),它用来下拉时,刷新列表控件,显示其他日记卡片。...在用户按下时,用snackbar显示信息,调用make函数时,它的第一个参数必须是协调布局,否则,弹出的Snackbar将覆盖悬浮按钮控件。...(3) 菜单设计 在界面上,菜单选项不显示在主屏幕上,而是通过滑动的方式将隐藏的菜单显示出来。滑动菜单只在需要的时候显示,节省了屏幕空间。实现滑动菜单需要用到DrawerLayout布局。...2.易于管理,集中式服务器更能保证安全性。3.代码一致性非常高。4.有良好的目录级权限控制系统。缺点:1.对服务器性能要求高,数据库容量经常暴增,体量大。2.必须联网。

    20910

    Flutter 构建完整应用手册-设计基础知识 顶

    显示SnackBars 在某些情况下,当发生某些操作时可以方便地向用户简单通知。 例如,当用户在列表中删除消息时,我们可能想通知他们消息已被删除。 我们甚至可能想给他们一个撤消行为的选择!...(snackBar); 3.提供额外的操作 在某些情况下,我们可能希望在显示SnackBar时向用户提供额外的操作。...}, ), ); 完整的例子 注意:在本例中,我们将在用户点击按钮时显示SnackBar。 有关处理用户输入的更多信息,请参阅食谱的处理手势部分。...3.为每个选项卡创建内容 现在我们有了选项卡,我们希望在选择标签时显示内容。 为此,我们将使用TabBarView部件。 注意:顺序很重要,必须与TabBar中的选项卡顺序相对应!...在Flutter中,我们可以将Drawer小工具与Scaffold结合使用,以创建带有材质设计Drawer的布局!

    7.5K10

    用 CoordinatorLayout 处理滚动

    当渲染一个 Snackbar 时,它通常出现在可见屏幕的底部。Floating action button 必须上移以便腾出空间。 ?...Float action button 有一个默认的 behavior 可以在检测到 Snackbar 被加入的同时将这个 button 向上移动 Snackbar 的高度。...创建视差动画 CollapsingToolbarLayout 可以让我们做出更高级的动画,例如使用一个在折叠的同时可以渐隐的 ImageView。在用户滑动时,标题的高度也可以改变。 ?...如果你在使用 behavior 时遇到了问题,请查看下面的建议: 关于如何高效使用 CoordinatorLayout 的例子请仔细参考 cheesesquare 源码。...在一个使用了内部有 items 列表的 ViewPager 的 fragment 和一个父 activity 之间使用协调时,你想像这里描述的那样在ViewPager 上添加 app:layout_behavior

    5.1K92

    Snackbar-Android M新控件

    使用 Snackbar,可以在屏幕底部快速的显示一条消息,大体与 Toast 相同,但多了几分灵活性: 一小段时间之后、或者用户与屏幕触发交互,Snackbar 会自动消失; 可以包含一个可选的操作;...把 Snackbar 划出屏幕,可以弃用; 作为一条上下文敏感的消息,也是 UI 的一部分,并在屏幕内所有元素的上层显示,而不是像 Toast 消息一样位于屏幕中央; 一个时刻只能有唯一一个 Snackbar...Snackbar使用的时候需要一个控件容器用来容纳Snackbar.官方推荐使用CoordinatorLayout这个另一个Android Support Design Library库支持的控件容纳。...Snackbar 会沿着 view 的树状路径,找到第一个合适的布局或窗口视图,作为父 view。...同时按照文档中描述: 在项目的 view 中添加 CoordinatorLayout,可以支持 snackbar 的更多特性,比如滑动消失,和 FAB 的自动移动。

    85330

    Android5.0和6.0之后新增的控件说明

    Android 5.0 导航视图 NavigationView Android 5.0 协调布局 CoordinatorLayout Android 5.0 悬浮按钮 FloatingActionButton...Android 5.0 文本输入编辑框 TextInputEditText Android 6.0 以上的新控件,在项目中使用的时候,可分为三大类: 1、第一类是内核提供的控件,位于SDK的android.jar...比如水波图形RippleDrawable和矢量图形VectorDrawable,这两个控件在Android5.0之后的系统内核中提供,所以只有系统版本不低于5.0的手机才能使用它们,运行4....使用v4控件唯一需要注意的地方,是布局文件中要引用完整路径的控件名称,如抽屉布局android.support.v4.widget.DrawerLayout、下拉刷新布局android.support.v4...使用v7与design库的控件,类似于使用自定义控件,不但要在布局文件中引用完整路径的控件名称,还要在根布局声明命名空间(即添加属性xmlns:app="http://schemas.android.com

    1.4K20

    Android开发笔记(一百二十七)活用提示窗Toast和Snackbar

    其实Toast的界面也允许开发者自行定制,只要定义好提示窗的布局文件,即可调用Toast类的setView方法设置自定义窗口画面。包括背景、对齐方式、窗口内部控件等等界面元素,均可由你自己定制。...另外,Snackbar最好配合控件CoordinatorLayout使用,因为这样Snackbar才能够像通知那样通过右滑手势取消。...Snackbar的用法与Toast类似,常用方法说明如下: make : 构造一个Snackbar对象。可指定提示条的上级视图、提示消息文本、显示时长等信息。...setText : 设置提示消息的文本内容。 setAction : 设置交互按钮的文本与点击监听器。 setActionTextColor : 设置交互按钮的文本颜色。...setDuration : 设置提示消息的显示时长。 show : 显示提示条。 下面是演示提示条的两个截图,分别展示了滑动取消提示条效果,以及点击交互按钮的界面效果: ? ?

    64350

    Snackbar使用详解

    Snackbar是介于Toast与Dialog之间的一个控件,既可以像Toast一样自动消失,也可以像Dialog一样交互消失。...使用与Toast相似: Snackbar.make(view, "已加入行程", Snackbar.LENGTH_SHORT).show(); 第一个参数是view,任意都行,但是google官方建议传入...CoordinatorLayout,一来在Snackbar显示的时候可以右滑移除,二来在Snackbar显示的时候布局会自动变 第二个参数是message,即提示的内容 第三个参数是显示的时长,Snackbar.LENGTH_SHORT...短时间显示且自动消失,Snackbar.LENGTH_LONG 长时间显示且自动消失,Snackbar.LENGTH_INDEFINITE 不消失显示 用在加了Action的情况下,在用户点击之后再消失...高级一点的使用(改颜色,加Action,加回调): final Snackbar mSnackbar = Snackbar.make(view, "已加入行程", Snackbar.LENGTH_INDEFINITE

    99620

    轻量级控件SnackBar使用以及源码分析

    因为Toast与Dialog各有一定的不足,使用Toast的时候, 用户无法交互;使用Dialog:用户可以交互,但是体验会打折扣,会阻断用户的连贯性操作;但是使用Snackbar既可以做到轻量级的用户提醒效果...,又可以有交互的功能,本博客将会从SnackBar的使用和源码分析两个方面进行介绍。...SnackBar的使用 SnackBar的使用十分简单,其实和Toast的使用方法差不多,我们写一个很简单的例子,来看一下SnackBar的使用,布局上有一个按钮,点击后弹出SnackBar,弹出的逻辑如下...,所以我们想修改这个SnackBar显然是不行的,而且它还强转成了SnackbarLayout布局,我们可以查看一下这个布局的代码,这个布局在design包的layout下 Snackbar的布局里面果然是使用了这个布局,如果我们要改变布局的样式,我们就修改这个文件里面的相关属性就可以了,就比如这里的textAppearance。

    1.5K20
    领券