Animation starten- Credits-Fließtext wie in Star Wars

  • Antworten:1
  • Bentwortet
Syntac Moore
  • Forum-Beiträge: 44

07.02.2014, 17:51:49 via Website

Hey,
Ich würde gern Credits erstellen, sie sollen als Fließtext, also so wie in SW, von unten beginnen und nach oben hin laufen.

Ich hab jetzt schon mal etwas angefangen, jedoch kriege ich eine Fehlermeldung.
Hier ein Mal den LogCat-Fehler:
02-07 16:43:33.897: D/AndroidRuntime(323): Shutting down VM
02-07 16:43:33.897: W/dalvikvm(323): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
02-07 16:43:33.907: E/AndroidRuntime(323): FATAL EXCEPTION: main
02-07 16:43:33.907: E/AndroidRuntime(323): java.lang.RuntimeException: Unable to start activity ComponentInfo{de.swquiz/de.swquiz.Credits}: java.lang.NullPointerException
02-07 16:43:33.907: E/AndroidRuntime(323): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
02-07 16:43:33.907: E/AndroidRuntime(323): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
02-07 16:43:33.907: E/AndroidRuntime(323): at android.app.ActivityThread.access$2300(ActivityThread.java:125)
02-07 16:43:33.907: E/AndroidRuntime(323): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
02-07 16:43:33.907: E/AndroidRuntime(323): at android.os.Handler.dispatchMessage(Handler.java:99)
02-07 16:43:33.907: E/AndroidRuntime(323): at android.os.Looper.loop(Looper.java:123)
02-07 16:43:33.907: E/AndroidRuntime(323): at android.app.ActivityThread.main(ActivityThread.java:4627)
02-07 16:43:33.907: E/AndroidRuntime(323): at java.lang.reflect.Method.invokeNative(Native Method)
02-07 16:43:33.907: E/AndroidRuntime(323): at java.lang.reflect.Method.invoke(Method.java:521)
02-07 16:43:33.907: E/AndroidRuntime(323): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
02-07 16:43:33.907: E/AndroidRuntime(323): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
02-07 16:43:33.907: E/AndroidRuntime(323): at dalvik.system.NativeStart.main(Native Method)
02-07 16:43:33.907: E/AndroidRuntime(323): Caused by: java.lang.NullPointerException
02-07 16:43:33.907: E/AndroidRuntime(323): at de.swquiz.Credits.onCreate(Credits.java:18)
02-07 16:43:33.907: E/AndroidRuntime(323): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
02-07 16:43:33.907: E/AndroidRuntime(323): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
02-07 16:43:33.907: E/AndroidRuntime(323): ... 11 more


Ich habe für die Animation, den Ordner anim in res erstellt, dort habe ich ein xml-File (animationfile)

Hier mal die animationfile:
1<?xml version="1.0" encoding="utf-8"?>
2<set xmlns:android="http://schemas.android.com/apk/res/android"
3 android:interpolator="@android:anim/linear_interpolator" >
4
5 <translate
6 android:duration="5000"
7 android:fromYDelta="-100%p"
8 android:toYDelta="100%p" />
9
10</set>

Und in der Klasse Credits hab ich das rein geschrieben um die Animation zu starten:
1public void onCreate(Bundle savedInstanceState) {
2 super.onCreate(savedInstanceState);
3 setContentView(R.layout.activity_credits);
4 //*******************************************************
5 Animation animation = AnimationUtils.loadAnimation(this, R.anim.animationfile);
6 tv.setText("Blablablabla");
7 tv.startAnimation(animation);
8
9
10
11 //*********************************************************

In meiner Credit xml befindet sich nur die TextView.
Wäre es geschickter, den Text im xml Layout rein zuschreiben, wobei, das macht ja eig. keinen Unterschied, oder?

EDIT: Fehler entdeckt, war ein Leichtsinnsfehler, sorry, Frage auch kann gelöscht werden.

— geändert am 07.02.2014, 18:05:02

Antworten