(android) 视图应向下滑动并在几秒钟后自动向上滑动

(android) view shall slide down and after a few seconds automatically slide up

我根本找不到解决我的问题的方法。我希望任何人都可以提供帮助。 android 我试图向下滑动一个视图,3 秒后它必须自动向上滑动。

第一次上手方法还不错!视图向下滑动,过一会儿又自动向上滑动。

我第二次启动该方法时没有任何反应。没有视图显示!甚至视图也不会下滑。 (textView 是一个 TextInputEditText)

    public void slideDown() {
        textView.animate().translationY(100).setStartDelay(350);
        textView.animate().translationY(0).setStartDelay(3000);
    }

    public void initAnimation() {
        ViewGroup.LayoutParams layoutParams = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
        textView.setLayoutParams(layoutParams);
        textView.setGravity(Gravity.CENTER);
        textView.setPadding(1000, 10, 1000, 10);
        textView.animate().translationY(100);
    }

我试着定位这个论坛条目 Slide Down & Slide Up

你好@Peter 试试这个它会对你有帮助

    import android.os.Bundle;
import android.os.Handler;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.view.animation.TranslateAnimation;
import android.widget.TextView;

public class AnimationActivity extends AppCompatActivity {


    TextView tvTitle;

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_animation);
        tvTitle = findViewById(R.id.tvTitle);
        slideUp();
        new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
                slideDown();
            }
        }, 3000);
    }

    public void slideDown() {
        TranslateAnimation animate = new TranslateAnimation(
                0,                 // fromXDelta
                0,                 // toXDelta
                0,                 // fromYDelta
                500); // toYDelta
        animate.setDuration(500);
        animate.setFillAfter(true);
        tvTitle.startAnimation(animate);
    }

    public void slideUp() {
        TranslateAnimation animate = new TranslateAnimation(
                0,                 // fromXDelta
                0,                 // toXDelta
                500,  // fromYDelta
                0);                // toYDelta
        animate.setDuration(1000);
        animate.setFillAfter(true);
        tvTitle.startAnimation(animate);
    }
}

谢谢 我是这样做的:

public void slideDown() {
    textView.animate().translationY(100).setDuration(500);

    textView.postDelayed(new Runnable() {
        @Override
        public void run() {
            //Do something after 3000ms
            textView.animate().translationY(0).setDuration(300);
        }
    },3000);
}