首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android Studio中相对布局的动画

Android Studio中相对布局的动画
EN

Stack Overflow用户
提问于 2021-07-16 00:29:47
回答 1查看 32关注 0票数 0

我正在尝试为我的一个activity_main.xml布局中的相对布局设置动画。我希望当可见性设置为可见时,相对布局向上滑动,而当可见性设置为消失/不可见时,相对布局向下滑动。但我只能让动画向上滑动和向下滑动一次。当我再次单击按钮使布局再次向上滑动(并设置为可见)时,布局只是弹出而没有动画;当我再次单击按钮使其向下滑动(并设置为消失/不可见)时,布局也只是消失而没有动画。我真的很感谢你的帮助。非常感谢!

以下是我尝试过的方法:

代码语言:javascript
复制
Private RelativeLayout relLayoutInfo = findViewById(R.id.rel_Layout_Info);
Private Button btnSlideUp = findViewById(R.id.btn_Up);
Private Button brnSlideDown = findViewById(R.id.btn_Down);
private Animation extraInfoAnimationEnter = AnimationUtils.loadAnimation(getApplicationContext(),R.anim.details_info_animation_enter);
Private extraInfoAnimationExit = AnimationUtils.loadAnimation(getApplicationContext(),R.anim.details_info_animation_exit);

btnSlideUp.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                relLayoutInfo.setAnimation(extraInfoAnimationEnter);
                relLayoutInfo.setVisibility(View.VISIBLE);
            }
        });
btnSlideDown.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                relLayoutInfo.setAnimation(extraInfoAnimationExit);
                relLayoutInfo.setVisibility(View.GONE);
            }
        });

这是extraInfoAnimationEnter的动画文件:

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">

    <translate
        android:fromYDelta="100%"
        android:toYDelta="0"
        android:duration="500">

    </translate>
</set>

这是extraInfoAnimationExit的动画文件:

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">

    <translate
        android:fromYDelta="0"
        android:toYDelta="100%"
        android:duration="500">

    </translate>

</set>
EN

回答 1

Stack Overflow用户

发布于 2021-07-16 01:14:38

这可能不是确切的解决方案,而只是一个建议,还有一个可用的MotionLayout here

还有AndroidDevs here官方频道的播放列表

MotionLayout对于动画来说很棒,但是如果这不是你想要的,我们可以尝试在你的RelativeLayout中实现它:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68397542

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档