gpt4 book ai didi

android - 排除某些元素在 android 布局转换中的动画效果

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:01:12 24 4
gpt4 key购买 nike

我有一个关于 android 布局转换框架的问题。特别是我想实现布局的特定部分根据另一个 View 的可见性向下或向上滑动的效果。

想象一下下面的布局。 (请忽略此处嵌套的 LinearLayouts ;))

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:animateLayoutChanges="true">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">

<View
android:id="@+id/changingView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="gone"/>

<View
android:id="@+id/changingView2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="gone"/>

</LinearLayout>

<LinearLayout
android:id="@+id/movingView"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:animateLayoutChanges="false"/>

</LinearLayout>

现在我想要实现的是,当changingView1changingView2 改变它们的可见性时,movingView 向上或向下滑动。

通过为父布局启用 LayoutTransition.CHANGING,滑动部分可以正常工作。但这有副作用,当添加或删除项目时 movingView 也会动画,因为此布局更改其边界。这就是我的问题,因为这会导致看起来很奇怪的动画。

回到我的问题。有没有一种方法可以在不对 movingView 上的布局绑定(bind)更改进行动画处理的情况下保持滑动动画?

movingView 上禁用 layoutTransitions 显然没有帮助,因为这只会影响 subview 的动画。我还尝试在父布局上启用和禁用不同的 LayoutTransitions,但到目前为止没有达到预期的效果。

如果我可以添加更多详细信息,请告诉我,否则我希望有人能帮助我。

提前致谢!

最佳答案

我知道已经晚了,但希望它能对某人有所帮助。由于 android:animateLayoutChanges 是直接父级的属性,您可以将 View/Layout 包装在 FrameLayout 中(或其他一些 ViewGroup)并在新父级上设置 android:animateLayoutChanges="false"

关于android - 排除某些元素在 android 布局转换中的动画效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39014316/

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