Erstellen scan-animation mit android studio
ich bin die Probleme der Erstellung einer scan-animation auf meinem android-Anwendung.Zum Beispiel habe ich in dieser Anwendung 'Fingerprint love scanner prank", die die scan-animation und ich möchte Sie implementieren dieselbe auf meine android-app. Ich habe versucht zu implementieren, das gleiche auf meinem android Anwendung, aber vergeblich. Das ist mein android code snippets.
Animation.Java Aktivität
scan.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
final CountDownTimer start = new CountDownTimer(4000, 1000) {
public void onTick(long millisUntilFinished) {
scanner.setVisibility(View.VISIBLE);
anim1 = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.progress);
scanner.startAnimation(anim1);
}
public void onFinish() {
scanner.setVisibility(View.INVISIBLE);
}
}.start();
return false;
}
});
Animation.xml
Enthält den scanner-Bild definiert, um die Bildansicht, wie unten gezeigt
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="40dp"
android:id="@+id/scan"
android:background="@drawable/bgscanner">
<ImageView
android:layout_width="100dp"
android:layout_height="wrap_content"
android:src="@drawable/scanner"
android:id="@+id/scanner1"
android:layout_marginTop="20dp"
android:visibility="invisible"
/>
</LinearLayout>
Meine Animation drawable
<?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:fromYDelta="0%p"
android:toYDelta="75%p"
android:duration="800"
/>
</set>
Mein großes Problem ist, auf touch-Ereignis wird die animation nicht ausgeführt. Das heißt, der Bild-Leiste nicht schwingen entlang der vertikalen Achse. Ich bitte jede Hilfe von stackoverflow
Du musst angemeldet sein, um einen Kommentar abzugeben.
Bearbeitet
Dieses problem kann gelöst werden mit einem sehr kleinen code.
Zuerst ändern Sie Ihre XML-animation-code zu diesem:
Ihr layout sollte so etwas wie dieses:
Und in Ihrer Aktivität, kann der code wie folgt Aussehen:
Und auf diese Weise sind Sie gehen zu müssen zu diesem Ergebnis:
Habe ich eine Ansicht anstelle einer Bildansicht, um die scan-bar, aber Sie können den code ändern, um Ihre Bedürfnisse.
Ich hoffe, es hilft!
EDIT 2:
Wenn Sie möchten, dass die animation nur geschehen, wenn das Bild gedrückt wird, ändern Sie den code zu diesem:
Es, lösen Sie die animation, wenn das Bild gedrückt wird (MotionEvent.ACTION_DOWN) und es geht um die Bewegungssimulation zu stoppen, wenn das Bild veröffentlicht (MotionEvent.ACTION_UP)
Anstelle des Countdown-Timers verwenden Wert animator die animation in onTouch listner.
Versuchen Sie dies:
Für die animation auf android , ich rate Ihnen, zu verwenden, Animation Drawable , es ist einfach zu implementieren : https://developer.android.com/reference/android/graphics/drawable/AnimationDrawable.html
Erste Schritte zum anzeigen einer animation (Gif durch Beispiel) , wir es teilen, um pngs (online durch das Beispiel, das ich verwenden http://ezgif.com/ , dann habe ich die Initialisierung auf xml-drawable :
Schließlich lade ich es auf meine definierten Klasse :
ändern Sie Ihre animation zu diesem
und Ihren code