在 Android 中单击按钮后,使布局显示动画

Make a layout appear with animation after button click in Android

提问人:Falling Into Infinity 提问时间:1/21/2014 最后编辑:Falling Into Infinity 更新时间:9/6/2016 访问量:31256

问:

我正在尝试为登录屏幕实现一个简单的动画效果。

场景如下:

1:默认情况下,将显示一些文本和登录按钮。

阿拉伯数字:单击登录按钮后,将从下到上出现一个新的框架布局。此布局将提示用户输入其用户名和密码。

我可以制作一个动画,从一个父级叠加到另一个父级。在此方案中,我正在寻找一个在不离开活动的情况下显示的动画。

android-动画

评论

0赞 codeMagic 1/21/2014
您是否尝试过使用LayoutAnimationController
0赞 Srikanth 1/21/2014
如果动画这么简单,请使用 Android 的传统平移动画,并在任意数量的视图上启动它,使它们并行运行。

答:

21赞 Amir 1/21/2014 #1

首先设置为您的布局。
将动画设置为 slideUp 和 slideDown。
invisible

   final LinearLayout layout = (LinearLayout)findViewById(R.id.yourlayout);

   button.setOnClickListener(new OnClickListener(){

        @Override
        public void onClick(View arg0) {
            Animation slideUp = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.slide_up);
            Animation slideDown = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.slide_down);

            if(layout.getVisibility()==View.INVISIBLE){

                layout.startAnimation(slideUp);
                layout.setVisibility(View.VISIBLE);
        }
    });

slide_up.xml(在目录中创建)res/anim

<set xmlns:android="http://schemas.android.com/apk/res/android">  
    <translate android:fromXDelta="0" android:fromYDelta="500" android:duration="500"/>
</set>

slide_down.xml

<set xmlns:android="http://schemas.android.com/apk/res/android">  
    <translate android:fromXDelta="0" android:fromYDelta="0" android:toYDelta="500" android:duration="500"/>
</set>

注意:您应该编辑值,直到获得有利的结果。
例如:更改为
slide_down.xmlslide_up.xmlandroid:fromYDelta="500"android:fromYDelta="700"

2赞 Bri6ko 1/22/2014 #2

查看本教程,它解释了一些基本的动画,您可以根据需要自定义这些动画。

http://www.androidhive.info/2013/06/android-working-with-xml-animations/