Android 手写动画框架

本文介绍了一种基于ScrollView和HorizontalScrollView的自定义滑动动画实现方法,通过定义动画属性值并在滑动过程中动态调整视图状态,实现平滑过渡效果。

效果图

我们先来看看效果图:
screenshot1

screenshot2

  • 根据ScrollView或者HorizontalScrollView中的滑动距离设置对应子view的动画效果
  • 自定义ScrollView、HorizontalScrollView,以及LinearLayoutView
  • 获取并记录在布局文件中定义的自定义动画属性值

定义属性值

定义属性值,在layout.xml即布局文件中可以给view(泛指,可以为任何view)指定动画属性值,例如是否进行alpha动画,或者指定出场方式。

<?xml version="1.0" encoding="UTF-8"?>
<resources>
    <declare-styleable name="XAnimator">
        <attr name="x_alpha" format="boolean"/>
        <attr name="x_scaleX" format="boolean"/>
        <attr name="x_scaleY" format="boolean"/>
        <attr name="x_startBgColor" format="color"/>
        <attr name="x_endBgColor" format="color"/>

        <attr name="from_direction">
            <flag name="top" value="1" />
            <flag name="bottom" value="2" />
            <flag name="left" value="3" />
            <flag name="right" value="4" />
        </attr>
    </declare-styleable>
</resources>
属性 说明
x_alpha 是否执行透明值变化动画(范围为0-1)
x_scaleX 是否执行x轴缩放动画(范围为0-1)
x_scaleY 是否执行y轴缩放动画(范围为0-1)
x_startBgColor 背景颜色渐变动画起始颜色值
x_endBgColor 背景颜色渐变动画结束颜色值
from_direction 出现方向,top, bottom, left, right,分别为从顶部,底部,左边,右边出现

定义属性类

用于记录在布局文件中指定的动画属性值XAnimator(即上面所定义的属性值)
在这里就不列出来了,可查看

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值