E
erli2909
Fortgeschrittenes Mitglied
- 49
Hallo Leute, ich stehe vor einem Problem und finde auch nach reichlicher Googlesuche nichts..
Ich habe ein LinearLayout mit einem ImageView und vielen TextViews darunter.
Beim Start der Activity werden die Texte befüllt, das Bild wird aber erst über einen AsyncTask geladen, dauert also ein wenig.
Darum soll das Bild erst nicht sichtbar (visibilty: gone) sein und wenn es geladen wird soll es mit einer ScaleAnimation "groß werden". Dabei sollen alle weiteren Elemente des LinearLayouts mit der Animation mit nach unten rutschen..
Das Problem: Wenn ich die Animation starte, dann wird sofort die Höhe des ImageViews gesetzt und die TextViews werden sofort nach unten geschoben, und nicht animiert nach unten geschoben.
Ich hoffe mein Problem wird so verstanden und es kann mir jemand helfen.
Hier noch der Code der Animation:
Ausschnitt aus der xml:
Ich habe ein LinearLayout mit einem ImageView und vielen TextViews darunter.
Beim Start der Activity werden die Texte befüllt, das Bild wird aber erst über einen AsyncTask geladen, dauert also ein wenig.
Darum soll das Bild erst nicht sichtbar (visibilty: gone) sein und wenn es geladen wird soll es mit einer ScaleAnimation "groß werden". Dabei sollen alle weiteren Elemente des LinearLayouts mit der Animation mit nach unten rutschen..
Das Problem: Wenn ich die Animation starte, dann wird sofort die Höhe des ImageViews gesetzt und die TextViews werden sofort nach unten geschoben, und nicht animiert nach unten geschoben.
Ich hoffe mein Problem wird so verstanden und es kann mir jemand helfen.
Hier noch der Code der Animation:
Code:
ImageView imageViewPlayer = (ImageView) findViewById(R.id.imageViewPlayer);
if (bitmap == null) {
File imgFile = new File(getFilesDir() + "/" + imgFileDir);
bitmap = BitmapFactory.decodeFile(imgFile.getAbsolutePath());
}
imageViewPlayer.setImageBitmap(bitmap);
ScaleAnimation anim = new ScaleAnimation(1, 1, 0, 1);
anim.setInterpolator(getApplication(),
android.R.interpolator.accelerate_decelerate);
anim.setDuration(5000);
imageViewPlayer.startAnimation(anim);
imageViewPlayer.setVisibility(View.VISIBLE);
Ausschnitt aus der xml:
Code:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<ImageView
android:id="@+id/imageViewPlayer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:visibility="gone" />
<TextView
android:id="@+id/textViewPlayerBirthday"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView"/>
***** mehrere Textviews *****
</LinearLayout>
Zuletzt bearbeitet: