0

我正在创建一个 android 应用程序,在其中我想要像 facebook 这样的登录屏幕。当您打开 facebook android 应用程序时。第一个“FACEBOOK”文本出现在屏幕中央,然后在一段时间后向上滑动。出现用户 ID 和密码用一个按钮。

我想在我的应用程序中使用类似的动画。

我怎么做。我正在使用以下方法

我的 animate.xml 文件

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/linear_interpolator" >

<translate android:duration="2000"
android:fromYDelta="0"
android:toYDelta="-100%p" /> 
</set>

和java代码。

final Animation animAccelerateDecelerate = AnimationUtils.loadAnimation(this,     R.drawable.animatetext);
    final TextView text = (TextView)findViewById(R.id.Logo);
    text.startAnimation(animAccelerateDecelerate);

但它不工作..帮助请谢谢

4

3 回答 3

2

您应该使用android:fillAfter="true"andandroid:fillEnabled="true"来制作动画。android:startOffset="500"添加延迟,其中 500 以毫秒为单位

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
   android:interpolator="@android:anim/linear_interpolator"
   android:fillEnabled="true"
   android:fillAfter="true"
 >

<translate android:duration="2000"
   android:fromYDelta="0"
   android:toYDelta="-100%p"
   android:startOffset="500"
/> 
</set>
于 2013-08-02T09:58:01.720 回答
0

试试这样:

final Animation animLinear = AnimationUtils.loadAnimation(this, R.anim.linear);
final TextView txt = (TextView)findViewById(R.id.Logo);
txt.startAnimation(animLinear);
于 2013-08-02T10:03:40.000 回答
0

我认为你应该使用这个:

animAccelerateDecelerate.setAnimationListener(new Animation.AnimationListener() {
                @Override
                public void onAnimationStart(Animation animation) {

                }

                @Override
                public void onAnimationEnd(Animation animation) {

                }

                @Override
                public void onAnimationRepeat(Animation animation) {

                }
            });

现在在动画结束时更改 textview 的布局参数。这样您的 textview 将获得新的布局参数以显示在顶部。

让线程休眠几秒钟,然后开始动画。并在动画结束时使您的用户名和密码的编辑文本可见。

希望能帮助到你!!

于 2013-08-02T10:03:58.787 回答