首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

更改MotionLayout中嵌套布局的尺寸

是指在MotionLayout中调整嵌套布局的大小。MotionLayout是一个强大的布局容器,可以实现复杂的动画效果和过渡效果。在MotionLayout中,可以通过设置关键帧和约束来定义布局的动画行为。

要更改MotionLayout中嵌套布局的尺寸,可以通过以下步骤进行操作:

  1. 在布局文件中,将MotionLayout作为根布局,并在其中添加需要进行尺寸更改的嵌套布局。
代码语言:txt
复制
<androidx.constraintlayout.motion.widget.MotionLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <!-- 嵌套布局 -->
    <LinearLayout
        android:id="@+id/nestedLayout"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">

        <!-- 嵌套布局的内容 -->

    </LinearLayout>

</androidx.constraintlayout.motion.widget.MotionLayout>
  1. 在MotionLayout的场景文件中,定义布局的动画行为。可以使用关键帧和约束来控制布局的尺寸变化。
代码语言:txt
复制
<MotionScene xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:motion="http://schemas.android.com/apk/res-auto">

    <Transition
        motion:constraintSetStart="@id/start"
        motion:constraintSetEnd="@id/end">

        <KeyFrameSet>
            <!-- 定义关键帧 -->
        </KeyFrameSet>

        <ConstraintSet android:id="@+id/start">
            <!-- 开始状态的约束 -->
        </ConstraintSet>

        <ConstraintSet android:id="@+id/end">
            <!-- 结束状态的约束 -->
        </ConstraintSet>

    </Transition>

</MotionScene>
  1. 在关键帧中设置布局的尺寸变化。可以使用KeyAttribute标签来定义布局属性的变化。
代码语言:txt
复制
<KeyFrameSet>
    <KeyAttribute
        motion:framePosition="0"
        motion:target="@id/nestedLayout"
        motion:attributeName="layout_width"
        motion:valueType="intType"
        motion:value="200" />

    <KeyAttribute
        motion:framePosition="100"
        motion:target="@id/nestedLayout"
        motion:attributeName="layout_width"
        motion:valueType="intType"
        motion:value="400" />
</KeyFrameSet>

上述代码中,通过KeyAttribute标签定义了布局宽度在动画过程中从200变化到400的变化。

  1. 在开始状态和结束状态的约束集中设置布局的初始状态和结束状态。
代码语言:txt
复制
<ConstraintSet android:id="@+id/start">
    <Constraint
        android:id="@id/nestedLayout"
        android:layout_width="200dp"
        android:layout_height="wrap_content" />
</ConstraintSet>

<ConstraintSet android:id="@+id/end">
    <Constraint
        android:id="@id/nestedLayout"
        android:layout_width="400dp"
        android:layout_height="wrap_content" />
</ConstraintSet>

上述代码中,设置了开始状态下布局宽度为200dp,结束状态下布局宽度为400dp。

通过以上步骤,就可以在MotionLayout中更改嵌套布局的尺寸。根据具体的需求,可以定义不同的关键帧和约束来实现更复杂的尺寸变化效果。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云 MotionEngine:提供了丰富的动画效果和过渡效果,可用于实现MotionLayout中的动画行为。详细信息请参考:https://cloud.tencent.com/product/me
  • 腾讯云云原生服务:提供了一系列云原生应用开发和部署的解决方案,可用于支持MotionLayout等技术的应用开发。详细信息请参考:https://cloud.tencent.com/solution/cloud-native
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

ConstraintLayout2.0一篇写不完之嵌套滚动怎么滚

在ConstraintLayout1.x阶段,它主要提供能力是对静态布局支撑,那么到2.x之后,MotionLayout拓展,让它对动态布局支持有了进一步优化,在1.x阶段不能实现嵌套滚动布局布局方式...在没有ConstraintLayout时候,要实现嵌套滚动布局,通常都是使用CoordinatorLayout来实现,但是这个东西使用局限性比较大,能非常简单实现嵌套布局,就那么几种,如果要实现一些特别的滚动效果...,就需要自定义behavior来实现,这样一来,嵌套滚动布局就成了一个比较复杂布局方式了,而MotionLayout出现,就可以完美的解决这样一个布局难题。...在ConstraintLayout2.x,有两种方式来实现嵌套滚动布局。...CoordinatorLayout,而仅使用MotionLayout来实现嵌套滚动效果,实现滚动布局大一统。

1.1K30

【翻译】MotionLayout实现折叠工具栏(Part 1)

当然了,如果你已经在自己 App 中使用了,那么你在学会了这里知识后也没什么必要做更改。...MotionLayout 和安卓上许多其他动画框架一个主要不同点在于:视图动画和属性动画运行时长是给定,比如指定动画时长,取消某个动画都是可行,但是不能做到用户控制一个正在进行动画。...> 这基本上是使用标准 ConstraintLayout 创建出来一个布局,唯一区别在于父布局实际为一个 MotionLayout 布局MotionLayout 继承于 ConstraintLayout...元素 OnSwipe 把过渡动画和用户在 RecyclerView 上拖拽操作绑定到了一起,也就是之前我们查看到布局列表。...这里卖个关子,在本系列文章最后,我们将会介绍关于 MotionLayout 布局更细粒度一些控制。 三、总结 本篇源代码请移步这里。 © 2018 , Mark Allison 。

1.9K31

Constraint Layout 2.0 用法详解

Constraint Layout 2.0 带来了许多关于 Contraint Layout 新特性,您可以通过在 build.gradle更改版本来升级使用。...您可以使用 Flow 来实现让布局随着应用屏幕尺寸变化 (比如设备发生旋转后出现屏幕宽度变化) 而动态地进行自适应。 ?...而是仅仅引用其它视图来辅助它们在布局系统完成各自布局功能。...使用 MotionLayout构建动画是可追溯且可逆,这意味着您可以随意切换到动画过程任意一个点,甚至可以倒着执行动画效果。...尤其是在以下两种情况下,MotionLayout 会比其它动画构建工具更胜一筹: 可追溯动画 - 由其它输入驱动动画,例如工具栏在滚动时会出现折叠效果 状态转换 - 由状态更改驱动动画,例如用户进入某一界面后

2.2K30

Android Studio 4.0重磅发布:全新 Motion 编辑器及众多更新都在这里!

在 Motion 编辑器创建、编辑和预览动画 升级 Layout Inspector 想要调查特定属性源头?或者想通过嵌套视图实时 3D 表示,更轻松地检查视图层次?...部署到运行 API 29 或更高版本设备还能获得其他特性,例如动态布局层次结构(随视图更改而更新)、详细视图属性(还可以帮助你确定资源值是如何解析)以及正在运行应用 UI 3D 模型。...使用 Layout Validation 在多个屏幕上对比 UI 当你为多种屏幕规格、屏幕尺寸和分辨率开发应用时,需要验证对 UI 所做更改在所支持每个屏幕上都能正常显示。...使用 Layout Validation(布局验证)窗口,你可以同时在多个不同屏幕和配置上预览布局,轻松确保你应用兼容各种屏幕尺寸。...Editor:用于创建、编辑和预览 MotionLayout 动画简单界面 Layout Inspector 升级:实时,更直观调试体验 Layout Validation:跨多个屏幕尺寸比较你

4.6K30

Android Studio 4.0 重磅发布!Android 11 Bata 版来了!

在 Android Studio 4.0 ,新 Motion Editor 让这个 API 用起来更方便。它提供了用于创建、编辑和预览 MotionLayout 动画强大界面。...或者想通过嵌套视图实时 3D 表示,更轻松地检查视图层次?借助新 Layout Inspector,你可以获得正在运行应用最新数据,并获得关于资源解析深度信息,从而更直观地调试 UI。...部署到运行 API 29 或更高版本设备还能获得其他特性,例如动态布局层次结构(随视图更改而更新)、详细视图属性(还可以帮助你确定资源值是如何解析)以及正在运行应用 UI 3D 模型。...使用 Layout Validation(布局验证)窗口,你可以同时在多个不同屏幕和配置上预览布局,轻松确保你应用兼容各种屏幕尺寸。...Editor:用于创建、编辑和预览 MotionLayout 动画简单界面 Layout Inspector 升级:实时,更直观调试体验 Layout Validation:跨多个屏幕尺寸比较你

2.6K20

静若处子动若脱兔-Constraintlayout2.0一探究竟

如果说Constraintlayout1.0是对静态布局革命,那么这次Constraintlayout2.0升级,则是对布局动画进行了革命,这是对Constraintlayout1.0布局基本形式强大补充...这是本系列第一篇文章,简述了ConstraintlayoutMotionLayout基本使用。...那么通过CustomAttributes和Constraint,就可以实现组件尺寸约束以及组件属性动画过渡效果。...布局限制,Android布局将每个View限制在了它Measure范围内,导致突破区域动画很难做 命令式编程,需要制定动画对象所有行为 参数难调,编译时间太长 借助MotionLayout,Google...UI与动画进行了分离,MotionLayout将所有的动画逻辑放在了Scene,跟最早Android布局写法,将UI和代码进行分离方式类似,但这种方式在现在开发模式下,并不是很直观,因为MotionLayout

1K10

【ERP最新动态】Winshuttle如何通过嵌套循环更改销售订单明细Schedule Lines

如果订单后续有交货,则每个明细下至少有一个计划行,用于指定允许交货日期和数量及库存管理等信息,这些都是交付先决条件。...SAP更改销售订单明细计划行操作流程: Winshuttle更改销售订单明细计划行操作流程: 1.登录SAP,输入T-code: VA02开始录制 同上填写销售订单编号之后,与在SAP...操作不同是,需要点击定位按钮定位到明细上,然后点击Schedule lines for item 按钮进入明细计划行。...在创建VA02嵌套循环时,应先创建包含销售订单明细外循环,再创建明细下计划行内循环。常用映射方式为拖拽,选中Excel表格框,按住并向上方对应行拖拽,即为映射。 3....以上为通过Winshuttle嵌套循环方式更改明细Schedule lines具体操作流程。嵌套循环还可以应用于其他业务场景,从而提高脚本灵活性。

2.8K20

设备尺寸杂谈:响应性Web设计尺寸问题

目前在为移动设备设计界面时,最头疼问题莫过于尺寸问题。我们无法使用固定尺寸来进行设计,因为不同设备大小千变万化。但是如果我们了解了设备物理特性后,这将有助于我们进行更好设计。 ?...不同设备可能具有相同屏幕分辨率,但是他们物理特性差别却非常大。一代iPad屏幕尺寸是9.7寸,分辨率为1024*768、132dpi。...通过 Resolution Media Query 和 Width Query 配合使用,我们能够将具有同样宽度不同大小设备区分开,从而来相应调整设计元素布局。...The Physical Size Inquiry Non-Exhaustive Theorem 理论:在一个组合查询,如果 分辨率 Resolution 与 宽度和高度较小一个比值大于5,...如果得分接近于5,那么是一个中等设备,物理上尺寸接近于1张A4纸大小(21*29.7cm)。

99520

探索 MotionLayout 动画世界

MotionScene常用属性 MotionLayout标签 layoutDescription :设置布局MotionScene文件。...这里设置会覆盖之前布局xml文件设置,可以将这个节点想象为ConstraintLayout布局,其中子节点Constraint可以想象为每一个View,其中android:id=""属性对应着原...nestedScrollFlags :定义嵌套滚动标志位,可以有以下几种取值: none :不支持嵌套滚动。 disablePostScroll :禁止滚动结束后滚动。...keyPositionType :坐标系类型,可以取值为: parentRelative 表示以MotionLayout布局为参考系,布局左上角为(0,0),右下角为(1,1)。...顶部大图及背景 效果图如下: 首先在布局文件添加一个ImageView来显示图片,添加一个等大小View作为背景。

9210

ConstraintLayout2.0一篇写不完之约束到底写在哪

MotionLayout,约束可以写在三个地方。 直接写在MotionLayout:如果布局简单,那么可以直接写在MotionLayout,这样Scene约束会直接继承Layout。...写在单独CL:TransitionState不仅仅可以使用ConstraintSet,也可以使用单独ConstraintLayout布局文件。...❞ 这几种写法各有利弊,首先,写在MotionLayout,会被State布局约束覆盖,但是写在Scene,每个State都要重复写大量约束,写在单独CL布局,则无法预览,所以,成年人世界...所以,当你不想重写所有属性修改时,可以使用Sectioned Constraints,它有五个实现: Layout:这里面你可以修改和布局相关状态变更,例如布局约束和尺寸 Transform:这里你可以修改...使用这些标签好处是,如果不存在这些属性,则从基本布局文件获取。如果只需要一个Motion标签,这就可以省去复制所有的布局标签。如果使用了这些标签,那么基础文件所有布局属性都会被覆盖。

76120

MotionLayout教你轻松玩转动画

MotionLayout,它是google推出一种实现动画布局view,基于ConstraintLayout为基础,可以让开发者直接通过xml布局方式来轻松实现动画。...当然它也有一些局限性,例如 MotionLayout只能针对自己直接子view进行操作,与TransitionManager不同是,TransitionManager可以作用于其他嵌套布局,灵活性更高...ConstraintSet 这里有一点需要注意,ConstraintSet约束会直接影响到我们外面的layout布局约束。 <?...包括它宽高,布局约束,这些都会直接覆盖layout宽高与约束。 另一个end,代表是,动画结束位置,也就是TextView结束之后展示方式。...需要注意是,这里定义id是需要关联我们layoutid,这样才能让MotionLayout进行匹配那个View需要进行动画。

92520

【翻译】MotionLayout实现折叠工具栏(Part 2)

-2/ 二、正文 谷歌 IO 2018 发布了 ConstraintLayout 2.0 版本,其中最重要部分就是 MotionLayout 了,这玩意就是一个全新、超牛布局动画工具!...我们已经讨论过 MotionLayout 是如何在 ConstraintSets 中所定义固定布局之间进行过渡动画了。...结果会给我们实现一个和加速-减速插值器一样效果。 更牛逼是,我们可以在动画进行时对动画进行动态更改。...最后值得一提是:有时候它还能帮我们实现过渡动画可视化,我们可以通过开启布局 showPaths 属性来实现: <?xml version="1.0" encoding="utf-8"?...即使如此,我相信大多数人还是会认同 MotionLayout 不仅灵活、强大,而且还为设计用户交互控制布局动画开辟了一个非常有趣可能性哦。 ? 三、总结 本篇源代码请移步这里。

1.6K30

【Android 性能优化】布局渲染优化 ( CPU 渲染优化 | 减少布局嵌套 | 测量布局绘制时间 | OnFrameMetricsAvailableListener | 布局渲染优化总结 )

Inspector 工具 | View Tree 分析 | 布局组件层级分析 ) 博客引入了 CPU 渲染优化 , CPU 渲染优化核心就是减少布局嵌套 , 布局嵌套使用 Android Studio... Layout Inspector 工具进行查看 ; CPU 渲染优化核心就是减少布局嵌套 , 推荐使用约束布局进行开发 , 只有一层嵌套布局 ; 减少布局嵌套 , 能极大减少..., 可以在屏幕绘制这些布局 ; 能够被优化布局 : 假如父布局只有一个子布局 , 子布局中有若干组件 , 那么可以直接将子布局组件放在父布局 , 将子布局这个层级干掉 , 或者将父布局层级删除...; 一个父布局没有分支布局 , 只有一个子布局 , 那么大概率可以优化删除父布局或子布局一个 , 两者保留一个 ; 强烈推荐使用 ConstraintLayout 约束布局 , 没有以上布局嵌套问题...布局嵌套 : 推荐使用约束布局 ; 如果某个容器布局只有一个子容器 , 那么可以删除一层嵌套 ; 3 . merger 使用 : 如果是 FrameLayout 布局 , 使用 merger 可以减少一层嵌套

1.8K10

sql嵌套查询_sql多表数据嵌套查询

今天纠结了好长时间 , 才解决一个问题 , 问题原因是 求得多条数据, 时间和日期是最大一条数据 先前是以为只要msx 函数就可以解决 , Select * from tableName..., 因为测试时候是一天两条数据, 没有不同日期,所以当日以为是正确 ,然而第二天写入数据了,要取出数据,却发现没有数据, 返回空行, 以为都是代码又有问题 了,找了半天都没有 ,仔细看看了存储过程代码...,发现这样返回数据的确是空。...这个是嵌套查询语句。 先执行是外部查询语句 。 比如说有三条信息.用上面写语句在SQL分析器执行 分析下这样查询 先查找是 日期 , 日期最大是下面两条语句 。 在对比时间 。...分析是这样 查询到最大天数是2013-03-18这条数据。第三行。 而时间最带是21:12:21 是第二条数据 这样与结果就是没有交集,为空了。 后来通过 查找课本和询问他人。

7K40

突破传统动画:探索MotionLayout独特优势

Android提供了丰富动画功能,而MotionLayout作为Android Jetpack一个组件,为我们带来了更强大、更灵活动画工具。...MotionLayout是ConstraintLayout扩展,它允许我们在Android应用程序创建复杂动画和过渡效果。...MotionLayout工作原理 现在让我们深入了解MotionLayout工作原理。 ConstraintSet:每个布局状态都由一个ConstraintSet对象表示。...MotionScene:MotionScene是MotionLayout配置文件,用于定义布局之间过渡和动画效果。...MotionLayout优点 MotionLayout是一个非常强大动态布局工具,它具有以下优点: 提供了丰富动画功能,例如关键帧,可以实现复杂动画效果。

26140
领券