移动设备是这套设计语言的基础对象,让用户在不同的平台、不同尺寸的设备上能保持一致的体验。 Material Design强调交互上的即时反馈,即对于用户的触控等行为app需要给出即时的反应。...cardCornerRadius是设置圆角的大小。...margin来处理16dp) 2.圆角效果的细微差别 5.x系统:图片和布局都可以很好的呈现圆角效果,图片也变圆角了,因此5.x上面不需要设置app:contentPadding 4.x系统:图不能变成圆角...(图片的直角会顶到CardView的边上),如果要做成5.x一样的效果:通过加载图片的时候自己去处理成圆角(与CardView的圆角大小一样),因此4.x上面不需要设置app:contentPadding...getWindow().setEnterTransition(fade);//进来的动画 //如果有共享元素,可以设置共享元素,那么它就会按照共享元素动画执行,其他的子view就会按照Fade动画执行
卡片式布局也是MaterialsDesign中提出的一个新的概念,它可以让页面中的元素看起来就像在卡片中一样,并且还能拥有圆角和投影,下面我们就开始具体学习一下。...CardView(这里用于作为recycleview的子项,用于显示水果) 1.1 实际上,CardView也是一个FrameLayout,只是额外提供了圆角和阴影等效果,看上去会有立体的感觉...; 1.2 app:cardCornerRadius属性指定卡片圆角的弧度,数值越大,圆角的弧度也越大; app:elevation属性指定卡片的高度, 高度值越大...实际上,CardView也是一个FrameLayout,只是额外提供了圆角和阴影等效果,看上去会有立体的感觉。...,从而使得RecyclerView中的每个元素都是在卡片当中的。
="@id/bottomappbar" /> coordinatorlayout.widget.CoordinatorLayout> 展示样子 ?...它们固定在屏幕底部(使它们在移动/平板电脑设备上符合人体工程学),并且类似于Dialogs,它们位于主屏幕内容上方。在大多数情况下,可以通过向上/向下拖动手势来扩展/关闭它们。...="测试第九行" android:textColor="@android:color/white" /> coordinatorlayout.widget.CoordinatorLayout...构造方法接收一个具体数值,这个数值就是圆角的数值。...CornerFamily,它表示处理的方式,有ROUNDED和CUT两种,ROUNDED是圆角,CUT是直接将圆角部分裁切掉. setAllCornerSizes(ShapeAppearanceModel.PILL
> coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/...> coordinatorlayout.widget.CoordinatorLayout> 注意,这里需要协调布局CoordinatorLayout包裹才行 app:behavior_peekHeight...这里只是一个展示效果,实际上使用场景可能会复杂一些,还要做一些操作等等,所以,也可以自定义dialog继承自BottomSheetDialog,然后处理自己的业务逻辑。...,比如上部分圆角效果、指定高度等 5.圆角效果 先设置原有背景透明 style.xml 的view上设置background android:background="@drawable/shape_sheet_dialog_bg" shape_sheet_dialog_bg <?
序言 本文力求用最短的篇幅,让读者明白CoordinatorLayout的用法。原理不作深入讨论。 CoordinatorLayout是什么 由Google加入Android系统的一个新的布局容器。...CoordinatorLayout 如何接入 compile 'com.android.support:design:23.2.1' 根据自己的complie版本,修改到对应的版本即可。...那些奇奇怪怪的View,只是Android官方为我们写好的示例。 CoordinatorLayout的核心是协调,它能够协调任何View之间的动作和效果。...它以Behavior类作为连接view的桥梁。 实例演示 需求:界面中有一个Button背景是绿色。点击它弹出一个Snackbar。当Snackbar完全弹出时,Button背景变为红色。...当Snackbar准备离开时,Button背景再度变为绿色。
4、风格背景 文字采用圆角+阴影进行包裹,至于高度和圆角效果因为时间紧迫,没有按照严格规范进行设置,如果对这方面有要求可以参考官网详细的规范要求。 ?...作为ViewGroup包裹子View实现圆角和阴影的效果: android.support.v7.widget.CardView android:layout_width="wrap_content...cardElevation:高度(直接影响阴影的大小) 7、CoordinatorLayout+AppBarLayout+Toolbar 列表写好了,接下来就是滑动的交互,CoordinatorLayout...> android.support.design.widget.CoordinatorLayout> 有两个重点: 滑动的view必须实现NestedScrollingChild接口。...Material Design 在「口袋」中的应用 其实在咱们的「口袋贵金属」项目中也到找到很多MD的元素。 首先是点击的水波纹效果: ? 其次是交易圈的滑动交互: ?
="match_parent" android:layout_height="wrap_content" android:text="可勾选的文本" android...:layout_height="wrap_content" android:text="圆角边框,渐变背景的文本" android:textSize="25sp"...--制定圆角矩形的四个圆角半径--> android:topLeftRadius="30px" android:topRightRadius="5px"...--指定边框线条的宽度和颜色--> android:width="4px" android:color="#f0f"/> <!...--指定使用渐变背景色,使用sweep类型渐变 颜色从 红色->绿色->蓝色--> android:startColor="#f00" android
但是目前我们能从CoordinatorLayout得到的好处是它可以让一个元素浮动在另一个元素之上。...建议在手机上下方的margin设置为16dp而平板上设置为24dp。上面的例子中,使用的是16dp。 而根据谷歌的设计规范,drawable的尺寸应该是24dp。 ?...实际上只需要指定一个布局文件,就可以看到效果了,只不过是这时候的FAB是固定在屏幕指定位置的,而无法随之滚动,不着急,下面会介绍如何设置成可滚动的FAB 属性介绍 FAB 默认使用应用主题中设置的浮起色作为按键背景...在 Lollipop 上,可以直接在 FAB 中设置: ... ......调整按钮类型 浮动操作按钮有两种大小:默认的,这应该是最常用的情况,以及mini的,这应该只用于衔接屏幕上的其他元素。 可以把FAB的按钮类型调整为“正常”或者“mini” ...
,每个Material 元素在 z 轴上占据一定的位置并且厚度默认只有1dp,厚度是其次,最重要的z轴是用来分层,进而实现更加有序或者更为复杂的交互设计。...五、元素参考阴影 下面的元素阴影参数应该当作参考阴影的标准。如果有遇到下列参考阴影的高度与组件中的阴影高度不同,必须要遵循以下参考阴影的高度。 ? ...Part2: Material Design控件及动画总结 CoordinatorLayout+applayout+toolbar+drawerlayout实现toolbar上拉隐藏 动画效果参考...如: android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk...,该方法将多个共享元素的位置共享给启动Activity。
在 github 上可以查看完整源码。这个项目是最容易理解 CoordinatorLayout 的方式之一。 设置 首先要确保遵循 Design Support Library 的说明。...> 注意:根据官方的 Google 文档,目前 AppBarLayout 需要作为直接子元素被嵌入 CoordinatorLayout 中。...Behavior 必须建立在触发(滚动)事件的 view 上。...如果这个值大于它的 50%,它将完全消失。 ? 注意:在你脑海中要将使用了 scroll 标志位的 view 放在首位。这样,被折叠的 view 将会首先退出,留下在顶部固定着的元素。...确保在 CoordinatorLayout 的直接子 view 上使用了 app:layout_behavior="@string/appbar_scrolling_view_behavior" 属性。
材料设计之BottomNavigationBar+TabLayout Android材料设计之AppBarLayout+CoordinatorLayout Android材料设计之CollapsingToolbarLayout...+Palette Android材料设计之DrawerLayout+NavigationView+TextInputLayout Android材料设计之Behavior攻坚战 ---- 一、本篇是干嘛的...toolbar常用属性.png ---- 2.CardView资料卡片: 国籍:View 城市:ViewGroup(FrameLayout) 爱好:梳妆打扮,圆角阴影 一句话:姐怎么能这么好看......额外依赖:implementation 'com.android.support:design:27.1.1' 8-2.CoordinatorLayout资料卡片: 国籍:View 城市:ViewGroup...字符个数监听.gif ---- 13.最强战将:Behavior资料卡片 国籍:Behavior神秘种族 城市:Behavior神秘领地 爱好:联动 一句话:军师CoordinatorLayout麾下最强战将
布局文件 如下所示: android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com.../android.support.design.widget.CoordinatorLayout> 上述布局需要注意的是: 必须采用CoordinatorLayout作为外层包裹,至于原因是由于使用Behavior...true,不过这里兼容性还是存在问题的,特别是android 4.4版本的折叠布局的透明statusbar,不知道改为有没更好的方式。...app:layout_scrollFlags="scroll|exitUntilCollapsed" 表示CoordinatorLayout的依赖元素滚动的时候,进行折叠。...题外话:直接使用RecyclerView折叠动画不平滑问题 在stackoverflow上找到如下解决方案,大致是由于google官方留的Behavior坑。
-- CoordinatorLayout是这次新添加的一个增强型的FrameLayout,通过它可以实现很多东西: 例如: 1.界面向上滚动逐渐隐藏Toolbar...--> android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res.../android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/id_coordinatorlayout...参数介绍: app:cardBackgroundColor : 背景颜色 app:cardCornerRadius : 设置圆角。...整个Demo的源码我放在了GitHub上,谢谢star一下~ 在看源码过程中如果发现什么问题,请在留言,看到一定回复。
2什么是 CoordinatorLayout CoordinatorLayout,是继承自 FrameLayout 。该布局非常好用,能够协调子元素之间的依赖关系。...CoordinatorLayout通过协调调度子布局的形式实现触摸影响布局的形式产生动画效果。...外层是CoordinatorLayout 包裹,因为CoordinatorLayout前面说了,它是继承自五大布局中的 FrameLayout,所以用法与之类似。...,当CollapsingToolbarLayout完全收缩后,Toolbar还可以保留在屏幕上,在折叠的时候最后固定在顶端; parallax:视差模式,在折叠的时候会有个视差折叠的效果。...5总结 简单介绍CoordinatorLayout的用法,没有深入介绍,大家如果需要深入了解这个控件的使用,在这里推荐一篇我认为写的好的博客给大家深入学习。
Snackbar 是 Android design support library 中的另一个组件。...把 Snackbar 划出屏幕,可以弃用; 作为一条上下文敏感的消息,也是 UI 的一部分,并在屏幕内所有元素的上层显示,而不是像 Toast 消息一样位于屏幕中央; 一个时刻只能有唯一一个 Snackbar...Snackbar使用的时候需要一个控件容器用来容纳Snackbar.官方推荐使用CoordinatorLayout这个另一个Android Support Design Library库支持的控件容纳。...同时按照文档中描述: 在项目的 view 中添加 CoordinatorLayout,可以支持 snackbar 的更多特性,比如滑动消失,和 FAB 的自动移动。...fragment的getView()方法来获得view,不过你也可以使用FrameLayout或者CoordinatorLayout。
> coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/...这里的 Transition 元素定义了过渡动画的开始和结束状态,以及过渡效果如何和用户进行交互: <Transition app:constraintSetEnd="@id/collapsed...元素 OnSwipe 把过渡动画和用户在 RecyclerView 上的拖拽操作绑定到了一起,也就是之前我们查看到的主布局中的列表。...我们使用的是一个标准的 ImageView 控件,当其位于 ConstraintSet 下的 Constraint 元素中时,其主要的属性变成可以是 ConstraintLayout.LayoutParams...这事实上效果已经非常接近,但是仔细看你会发现这里与刚开始我们使用的 CoordinatorLayout 方式有一个细微的区别:在 CoordinatorLayout 布局下图片的褪色渐变动画和 MotionLayout
尺寸上做标注 EditText 去掉下划线 android:background="@null" 光标颜色和文字一样 android:textCursorDrawable="@null" 自定义光标颜色...--圆角度数--> android:radius="6dp" /> android:color="@color/zj_blue" /> Button背景圆角+涟漪 涟漪效果用的色值#9ccc 本来的设想是设置圆角的...XML 再设置涟漪效果 但是实际发现效果是 涟漪的效果并不是圆角的 所以就变通了一下 背景只设置颜色 再在外层添加一个android.support.v7.widget.CardView login_button_bg_anim.xml...效果可以拖动高度 要想禁止拖动还是要用Popwindow 网上有说设置behavior_hideable的值 但其实上它只能禁止拖动关闭 拖动高度变高依旧没法禁用 必须外层是CoordinatorLayout
CoordinatorLayout配合MotionLayout 这种方式实际上还是借助CoordinatorLayout,是一种比较早期的实现方案,如果是对CoordinatorLayout比较熟悉的开发者...addOnOffsetChangedListener(this) } } ❝这两种方式没有本质上的不同,但是对于MotionEditor来说,如果使用自定义的MotionLayout,在非根布局下创建约束的时候会有一些问题...CoordinatorLayout,而仅使用MotionLayout来实现嵌套滚动效果,实现滚动布局的大一统。...,可以使用ConstraintOverride来直接覆写,这样可以少写很多重复的约束,这里的约束改变实际上只有两个,即layout_height从200变为56,而另一个重要的点,就是motionProgress...解决完外部的MotionLayout之后,内部的MotionLayout就迎刃而解了,因为它真的就是一个平平常常的MotionLayout,你想要对它内部的元素做任何的改动,都和之前直接使用MotionLayout
等 可 产生各种炫酷的效果,本篇博客就将介绍CoordinatorLayout的各种酷炫效果。...有一点要注意,Meterial Design引入了Z轴的概念,就是所有的view都有了高度,他们一层一层贴在手机屏幕上,而FloatingActionButton的Z轴高度最高,它贴在所有view的最上面...只要将Behavior绑定到CoordinatorLayout的直接子元素上,就能对触摸事件(touch events)、window insets、measurement、layout以及嵌套滚动(nested...浮动操作按钮有一个 默认的 behavior来检测Snackbar的添加并让按钮在Snackbar之上呈现上移与Snackbar等高的动画。...在RecyclerView或者任意支持嵌套滚动的view比如NestedScrollView上添加app:layout_behavior。
, Android Design Support Library 更多的是对一些特效的实现,这个库和github上的很多开源的项目有很大的关系,material design的很多效果,同一种效果在github...) 官方视频简介 Navigation View 抽屉导航是app识别度与内部导航的关键,保持这里设计上的一致对app的可用性至关重要,尤其是对第一次使用的用户。...NavigationView 通过提供抽屉导航所需要的框架让实现更简单,同时它还能够直接通过菜单资源文件来直接生成导航元素。 ?...NavigationView处理好了和状态栏的关系,可以确保NavigationView在API21(5.0)设备上正确的和状态栏交互。...,使用起setNavigationItemSelectedListener()来获取元素被选中的回调时间,它为你提供被点击的 菜单元素 ,让你可以处理选择事件,改变复选框状态,加载新内容,关闭导航菜单,
领取专属 10元无门槛券
手把手带您无忧上云