Ich animiere eine Ansicht nach oben zu seiner endgültigen Position gleiten, wie wir die Aktivität eingeben. Mein Problem ist, dass die Ansicht zu Beginn an der endgültigen Position erscheint, dann springt sie in die Anfangsposition und die Animation beginnt. Wie kann ich das verhindern?Android-Ansicht zeigt momentan an der endgültigen Position vor der Animation
-Code
protected void onResume() {
mImageView.setVisibility(View.INVISIBLE);
super.onResume();
Animator animator = new ObjectAnimator();
animator = AnimatorInflater.loadAnimator(this,R.animator.slide_up_lock_icon);
//animator.setStartDelay(500);
animator.setTarget(mImageView);
animator.setInterpolator(new AccelerateDecelerateInterpolator());
mImageView.setVisibility(View.VISIBLE);
animator.start();
Animator XML:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<objectAnimator
xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="1000"
android:propertyName="translationY"
android:valueFrom="500"
android:valueTo="0"
android:valueType="floatType"
android:startOffset="500"
/>
Einstellung und Neueinstellung Sichtbarkeit hilft ein wenig, aber die Animation does'nt wie erwartet immer
Sie können versuchen, es unsichtbar als Standard über XML-Einstellung und dann machen es sichtbar, wenn Sie die Animation zu starten, wie Sie jetzt tun, aber vielleicht unsichtbar von Anfang an macht es nicht für diesen Moment zu zeigen, bevor es programmatisch unsichtbar macht – Ivan
ja, aber das funktioniert nur, wenn 'onCreate()' aufgerufen wird und immer wenn wir zu diesem Bildschirm zurückkehren, während es im Hintergrund ist, funktioniert das nicht. Ich habe versucht, 'setVisibility (View.INVISIBLE)' in 'onPause()' hinzuzufügen, aber das funktioniert auch nicht. Die Ansicht bleibt immer noch sichtbar. – ColonD
Wo ist Ihre Standard-ImageView-Position? Wo endet die Animation? oder an der ersten Position der Animation? – Ivan