Ich versuche, eine benutzerdefinierte animierte Diaschau mit verschiedenen Bildern einzurichten. Ich verwalte die Animation für ein einzelnes Bild mit einer benutzerdefinierten Ansicht. Jetzt möchte ich die Diashow für alle Bilder in meiner Arraylist einrichten. Damit die Bilder nacheinander angezeigt werden. Jetzt habe ich eine benutzerdefinierte Ansicht muss ich mehr Ansichten für jedes Bild machen? Irgendwelche Ideen?Erstellen einer Animationssequenz mit Bildern in android (DiaShow)
Customized Ausblick:
public class AnimationPhotoViewA extends ImageView { @Overridepublic void setImageBitmap(Bitmap bm) {super.setImageBitmap(bm);image= bm;}
ACTIVITY:
public class PhotoSyncActivity extends Activity implements AnimationListener {
@Override
protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);
setContentView(R.layout.photo_sync_screen);
ArrayList<String> photoPaths = new ArrayList<String>();
photoPaths = getAllPhotos(Environment.getExternalStorageDirectory(),
photoPaths);
images = new Bitmap[photoPaths.size()];
Log.v(ACCESSIBILITY_SERVICE, "photo array!" + photoPaths);
apa1 = (AnimationPhotoViewA) findViewById(R.id.animation_viewA);
//START ANIMATION
animationmove = PhotoAnimationProcess.moveOne(this,apa1,animationmove);
File imgFile = new File(photoPaths.get(0));
if (imgFile.exists())
{
images[0] = decodeFile(imgFile);
}
}
@Override
protected void onStart() {
// TODO Auto-generated method stub
super.onStart();
// SET IMAGE IN THE VIEW
apa1.setImageBitmap(resizedimage);
}
private void addPicture() {
// TODO Auto-generated method stub
}
public void onAnimationStart(Animation animation)
{
// TODO Auto-generated method stub
}
public void onAnimationEnd(Animation animation)
{
// TODO Auto-generated method stub
switch (animationmove)
{
case move1:
animationmove = PhotoAnimationProcess.moveOne(this, apa1, animationmove);
break;
case move2:
addPicture();
animationmove = PhotoAnimationProcess.moveTwo(this,apa1,animationmove);
break;
case move3:
animationmove = PhotoAnimationProcess.moveThree(this,apa1,animationmove);
break;
case move4:
animationmove = PhotoAnimationProcess.moveFour(this,apa1,animationmove);;
break;
case move5:
animationmove = PhotoAnimationProcess.moveFive(this,apa1,animationmove);
break;
default:
break;
}
Log.v(ALARM_SERVICE, "Animation Type" + animation.toString());
}
public void onAnimationRepeat(Animation animation) {
// TODO Auto-generated method stub
}
}
Dank für Sie beantworten! Ich brauche diese Bilder, um grammatikalisch mit einer bestimmten Animation ohne Fokus auf ein bestimmtes Bild zu laufen. Ich glaube nicht, dass der ImageSwitcher mir helfen wird. – user182192
Sie missverstehen Darth Belegs Antwort. Der ImageSwitcher (oder wirklich jeder der Switcher) gibt Ihnen einfachen Zugriff auf Animationen, um Ihre Bilder schön ein- und auszublenden. Sie können diese Bilder programmatisch mit den gewünschten Bitmaps füllen und sich die Mühe ersparen, dieses Rad neu zu erfinden (was Sie oben tun). –