Ich habe in der Designansicht eine Ansicht direkt außerhalb der rechten Grenze des Android-Gerätebildschirms platziert. Ich möchte eine Animation abspielen und sie von außerhalb des Bildschirms auf den Bildschirm bewegen, um einen Eingangseffekt zu erzielen, nichts Besonderes.Soll ich im DeltaX einer Android-Animation Pixel oder Prozent verwenden?
Allerdings habe ich seitdem mit den DeltaX-Parametern gekämpft. Wie lauten die richtigen Zahlen? Soll ich mit Pixel oder Prozent gehen?
Wenn ich die richtige Eingabe gebe, das richtige Ereignis wurde ausgelöst, aber die Ansicht ist nirgendwo zu finden, es wird überhaupt nicht auf dem Bildschirm angezeigt.
Hier ist mein problematischer Code:
Animation:
<?xml version="1.0" encoding="utf-8"?>
<set
xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/linear_interpolator"
android:fillAfter="true">
<translate
android:fromXDelta="100%"
android:toXDelta="0%"
android:duration="300" />
</set>
Die Ansicht in Frage:
<GridView
android:id="@+id/android_gridview_menu"
android:layout_width="80dp"
android:layout_height="0dp"
android:background="#ffffff"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.0"
app:layout_constraintLeft_toRightOf="@+id/MainUI"
android:layout_marginLeft="0dp">
Spielt nicht wirklich funktionieren, glaube ich mit der Anime-Ressource-Datei mehr zumutbar ist. – VictorCharlie23
Diese playEnterAnimation() -Methode funktioniert nur, wenn Sie die Ansicht zuerst aus dem Bildschirm übersetzen, indem Sie den Code verwenden // Rasteransicht aus dem Bildschirm übersetzen GridView gridView = findViewById (R.id.android_gridview_menu); Anzeige display = getWindowManager(). GetDefaultDisplay(); Punktgröße = neuer Punkt(); display.getSize (Größe); gridView.setTranslationX (Größe.x); –