gpt4 book ai didi

android-studio - 运动布局 : How to change view visibility on last frame

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

我在 android studio 中使用运动布局来制作一个滚动的页面,看起来有点像 Twitter。我想在动画结束时将包含名称的布局的可见性设置为 GONE。

通常情况下,如果你将它设置为 gone 最后它会随着动画逐渐消失。但我想让它突然消失。

我正在使用运动布局并且有点了解关键帧,但是您如何使用可见性来做到这一点?

谢谢。

最佳答案

我想在这里留下一个答案,以防有人像我一样遇到这种情况:

alpha 设置动画并控制它的帧就可以完成这项工作,但是如果您希望 View 实际上从布局中消失,我需要使用 可见性

我写在了another post ,但为了便于阅读,请将其保留在这里:
背景 View ,当 alpha0 并且一旦 alpha 大于 时,它应该消失 >0 始终保持可见,但运动不应使可见性 全部动画化。

  • 可见性配置KeyFrameSet,所以在frame 0 visibility 消失 , 从frame 1开始visibilityvisible
  • @id/start@id/end 约束集中设置背景 View 所需的可见性
  • @id/start@id/end 中的背景 View 设置 visibiltyModeignore约束集,因此运动将忽略为背景 View 设置此属性的动画。
<MotionScene
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:motion="http://schemas.android.com/apk/res-auto">

<Transition
android:id="@+id/transition"
motion:constraintSetEnd="@+id/end"
motion:constraintSetStart="@id/start"
motion:duration="@integer/standard_duration">

<KeyFrameSet>
<KeyAttribute
motion:framePosition="0"
motion:motionTarget="@id/background">
<CustomAttribute
motion:attributeName="visibility"
motion:customIntegerValue="8" />
</KeyAttribute>

<KeyAttribute
motion:framePosition="1"
motion:motionTarget="@id/background">
<CustomAttribute
motion:attributeName="visibility"
motion:customIntegerValue="0" />
</KeyAttribute>
</KeyFrameSet>

</Transition>

<ConstraintSet android:id="@+id/start">
...

<Constraint
android:id="@+id/background"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:alpha="0.5"
android:visibility="gone"
motion:visibilityMode="ignore"
/>
</ConstraintSet>

<ConstraintSet android:id="@+id/end">
...

<Constraint
android:id="@+id/background"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:alpha="0.5"
android:visibility="visible"
motion:visibilityMode="ignore"
/>
</ConstraintSet>

</MotionScene>

顺便说一句,visibility 对应的整数值是:

Visible = 0
Invisible = 4
Gone = 8

关于android-studio - 运动布局 : How to change view visibility on last frame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57192154/

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