gpt4 book ai didi

java - View 展开动画通过在嵌套布局中使用 "animateLayoutChanges"影响其他 View

转载 作者:行者123 更新时间:2023-12-01 19:02:01 25 4
gpt4 key购买 nike

对于橙色部分,我在其 LinearLayout 上使用 android:animateLayoutChanges="true"setVisibility(visible/gone) 来实现展开动画,但最后一个 TextView (整行)看起来受到该动画的影响(它闪烁),并且橙色部分下方的整个部分没有平滑地上下移动(看起来没有动画根本没有)。任何帮助我将不胜感激。谢谢。

enter image description here

最佳答案

好吧,终于我找到了解决方案:

  1. android:animateLayoutChanges="true" 添加到您的will-be-resized ViewGroup

    <
  2. 使用setVisibility()来控制目标View的可见性。

  3. android:animateLayoutChanges="true" 添加到将调整大小<的外部 ViewGroup/strong> ViewGroup。此外部 ViewGroup 必须是包含所有position-will-be-changed View 的 View 组。

  4. Activity 中的 setVisibility() 之前添加以下代码,rootLinearLayout外部 ViewGroup 我上面提到过:

    LayoutTransition layoutTransition = rootLinearLayout.getLayoutTransition();
    layoutTransition.enableTransitionType(LayoutTransition.CHANGING);
<小时/>

提醒:

  1. 如果错过了第三步,将会出现空指针异常。
  2. 如果你错过了第一步,你仍然会得到一个很好的展开动画,但是一个糟糕的折叠动画,你会看到你的目标 View首先会突然消失,然后ViewGroup崩溃。
<小时/>

结果:

enter image description here

关于java - View 展开动画通过在嵌套布局中使用 "animateLayoutChanges"影响其他 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59622492/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com