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

这是场景

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

2:单击登录按钮后,新的框架布局将自下而上显示。此布局将提示用户输入其用户名和密码。

我可以制作一个动画,该动画将从一个父对象叠加到另一个父对象。在这种情况下,我正在寻找一个不会离开 Activity 就出现的动画。

最佳答案

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

   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.xml中的值直到获得满意的结果,例如:将android:fromYDelta="500"更改为android:fromYDelta="700"

10-07 13:17
查看更多