CoordinatorLayout系列(一):Behavior

本文是CoordinatorLayout系列的第一篇,主要介绍了Behavior的使用方法和源码分析。Behavior用于定义视图间的联动行为,降低耦合。文章展示了如何创建一个跟随效果,并详细解释了CoordinatorLayout如何处理依赖关系、解析Behavior及布局测量过程。后续文章将继续探讨与AppBarLayout和CollapsingToolbarLayout的联动效果。
摘要由CSDN通过智能技术生成

系列文章:
CoordinatorLayout系列(一):Behavior
CoordinatorLayout系列(二)AppBarLayout
CoordinatorLayout系列(三)AppBarLayout之layout_scrollFlags
CoordinatorLayout系列(四)CollapsingToolbarLayout
CoordinatorLayout系列(五)例子

CoordinatorLayout是google在Material Design上提出的一个布局样式,这个布局的主要功能就是实现一个view跟随另一个view变化,具体变化逻辑,由Behavior来实现,一个好的跟随效果可以展现出很酷的动画,因此这个系列就从Behavior入手,来剖析CoordinatorLayout的细节。

一、使用方法

首先摆出效果:
在这里插入图片描述
功能就是实现一个球跟随另一个球移动,两个球的中点就是整个界面的中点。
如果没有CoordinatorLayout的话,那上面的效果也是很好实现的,只要在一个球的onTouchEventListener中,按逻辑移动另一个球就行,但是这样耦合度比较高,当多个view联动时,代码看起来相对要乱,不好处理。CoordinatorLayout就是专门为这么一种情况设计的布局,充分的解耦了各个联动view之间的逻辑。
布局:

<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <!-- 主动view,也叫dependency -->
    <de.hdodenhof.circleimageview.CircleImageView
        android:id="@+id/dependency"
        android:layout_width="80dp"
        android:layout_height="80dp"
        android:layout_marginTop="200dp"
        android:src="@drawable/ic_launcher_background" />
    <!-- 被动view,也叫child -->
    <de.hdodenhof.circleimageview.CircleImageView
        android:id="@+id/child"
        android:layout_width="80dp"
        an
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值