android 运动管理,使用 MotionLayout 管理运动和微件动画
创建 MotionScene:在之前的 MotionLayout 示例中,app:layoutDescription 属性引用一个 MotionScene。MotionScene 是一个 XML 资源文件,其中包含相应布局的所有运动描述。为了将布局信息与运动描述分开,每个 MotionLayout 都引用一个单独的 MotionScene。请注意,MotionScene 中的定义优先于 MotionLayout 中的任何类似定义。
下面的示例 MotionScene 文件描述了图 1 中的基本水平运动:
xmlns:motion="http://schemas.android.com/apk/res-auto">
motion:constraintSetStart="@+id/start"
motion:constraintSetEnd="@+id/end"
motion:duration="1000">
motion:touchAnchorId="@+id/button"
motion:touchAnchorSide="right"
motion:dragDirection="dragRight" />
android:id="@+id/button"
android:layout_width="64dp"
android:layout_height="64dp"
android:layout_marginStart="8dp"
motion:layout_constraintBottom_toBottomOf="parent"
motion:layout_constraintStart_toStartOf="parent"
motion:layout_constraintTop_toTopOf="parent" />
android:id="@+id/button"
android:layout_width="64dp"
android:layout_height="64dp"
android:layout_marginEnd="8dp"
motion:layout_constraintBottom_toBottomOf="parent"
motion:layout_constraintEnd_toEndOf="parent"
motion:layout_constraintTop_toTopOf="parent" />
请注意以下几点:
包含运动的基本定义。
motion:constraintSetStart 和 motion:constraintSetEnd 指的是运动的端点。这些端点在 MotionScene 后面的 元素中定义。
motion:duration 指定完成运动所需的毫秒数。
可让您通过轻触控制运动。
motion:touchAnchorId 指的是您可以滑动并拖动的视图。
motion:touchAnchorSide 表示我们从右侧拖动视图。
motion:dragDirection 表示拖动的进度方向。例如,motion:dragDirection="dragRight" 表示当您向右拖动时,进度会增加。
是定义描述您的运动的各种限制条件的位置。在此示例中,我们为运动的每个端点定义一个 ConstraintSet。这些端点垂直居中(通过 app:layout_constraintTop_toTopOf="parent" 和 app:layout_constraintBottom_toBottomOf="parent")。在水平方向上,端点位于屏幕最左侧和最右侧。
如需详细了解 MotionScene 支持的各种元素,请参阅 MotionLayout 示例。
android 运动管理,使用 MotionLayout 管理运动和微件动画相关推荐
- 运动场馆SAAS系统运营中心、球馆、场馆、体育馆、场地配置、场馆配置、场次、报名记录、已锁场次、积分商城、会员明细、财务报表、系统打款、价格设置、消费明细、活动报名、创建场馆、权限管理、后台管理
运动场馆SAAS系统运营中心.球馆.场馆.体育馆.运动场.场地配置.场馆配置.场次.报名记录.已锁场次.积分商城.会员明细.财务报表.系统打款.价格设置.消费明细.活动报名.创建场馆.权限管理.后台管 ...
- suunto android 跑步软件,SUUNTO APP | 自定义运动模式教程
原标题:SUUNTO APP | 自定义运动模式教程 SUUNTO腕表本身搭载了大量预设的运动模式, 使您的腕表在运动时,实时显示最相关的数据. 现在除了腕表本身预设的运动模式之外, 您可利用 SUU ...
- Gradle for Android 第三篇( 依赖管理 )
Gradle for Android 第三篇( 依赖管理 ) 依赖管理是Gradle最闪耀的地方,最好的情景是,你仅仅只需添加一行代码在你的build文件,Gradle会自动从远程仓库为你下载相关的j ...
- Android系统中的进程管理:内存的回收
本文是Android系统进程管理的第三篇文章.进程管理的前面两篇文章,请参见这里: Android系统中的进程管理:进程的创建 Android系统中的进程管理:进程的优先级 本文适合Android平台 ...
- Android系统中的进程管理:进程的优先级
本文是Android进程管理系列文章的第二篇,会讲解进程管理中的优先级管理. 进程管理的第一篇文章:<进程的创建>请跳转至这里. 本文适合Android平台的应用程序开发者,也适合对于An ...
- Android官方文章翻译之管理设备苏醒状态(Managing Device Awake State)(二)
这是Managing Device Awake State的下半篇,上半篇请看:Android官方文章翻译之管理设备苏醒状态(Managing Device Awake State)(一) 在了解接下 ...
- Pinterest:Android系统上的视频管理
Pinterest通过在Android应用中添加适当的视频管理,在为用户提供更加流畅的视频体验的同时,尽可能的为开发人员提供易于使用的视频组件,简化其工作流程.本文来自Pinterest工程博客. 文 ...
- android sdk是灰的,Android Studio 2.3 sdk管理器标签灰显
Android Studio 2.3 - >配置 - > SDK管理器. 这些选项卡呈灰色显示: SDK工具,SDK更新站点.此外,"Show Package Details&q ...
- 第十一篇 ANDROID 系统网络连接和管理机制与架构
一 网络连接功能介绍 ANDROID 系统网络连接和管理服务由四个系统服务ConnectivityService.NetworkPolicyManagerService.NetworkManagem ...
最新文章
- docker删除镜像命令_第三章 Docker常用命令之镜像命令
- protobuf 下载、安装、编译
- PHP工厂模式计算面积与周长
- hmac sha256安全吗_全面普及HTTPS有意义吗?
- 描述最常用的5种http方法的用途_05-HTTP协议-万字好文!建议收藏
- 带拼音的,城市筛选组件
- AES在线加密解密-附AES128,192,256,CBC,CFB,ECB,OFB,PCBC各种加密解密源码
- 带你玩转以太坊智能合约的Hello World
- CentOS7安装Docker-Registry
- Handle的用法实例
- 局域网访问提示无法访问检查拼写_我的电脑是win10系统,局域网共享打印机,提示windows无法访问,请检查名称的拼写.否则网络可能有问题,...
- golang读写文件的几种方式
- windows模拟微信小程序_GitHub - ramwin/mini-program-reference: 微信小程序测试
- Ubuntu python3.6的安装
- 安装记录:安装3dmax2015时出现的问题以及解决方法
- Java8新特性——Stream API的简单应用
- 3 种关键函数调用约定
- android设置字体为微软雅黑,css如何设置字体为微软雅黑
- 219、无线路由器上网的设置方法汇总
- 理论+实操:docker入门初体验,申请阿里镜像加速器
热门文章
- 【golang程序包推荐分享】分享亿点点golang json操作及myJsonMarshal程序包开发的踩坑经历 :)
- 2021-2027全球与中国跨临界二氧化碳系统市场现状及未来发展趋势报告
- python 网络编程之Socket通信案例消息发送与接收
- 自监督学习(Self-Supervised Learning)多篇论文解读(上)
- Android广播监听usb插拔状态
- 2021年大数据Hive(十一):Hive调优
- Docker核心技术之数据管理
- [JS] [编程题] 配置文件恢复
- php xdebug 中文手册,php 安装xdebug扩展
- python format 格式化字符串