【问题标题】:Make a layout appear with animation after button click in Android在Android中单击按钮后使布局出现动画
【发布时间】:2014-01-21 14:58:02
【问题描述】:

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

这是场景,

1:默认会显示一些文字和登录按钮。

2:点击登录按钮后,一个新的框架布局会从下到上出现。此布局将提示用户输入他们的用户名和密码。

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

【问题讨论】:

  • 您是否尝试过使用LayoutAnimationController
  • 如果动画就这么简单,请使用 Android 的传统翻译动画并在任意数量的视图上启动它,以使它们并行运行。

标签: android android-animation


【解决方案1】:

首先将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"

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 2016-02-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多