Fondo de pantalla en vivo con imágenes

(Lo siento por mi Englih no es tan bueno … espero que me entienda)

Mi amigo es un cajón muy bueno. Me gustaría ayudarlo a ser conocido como un buen cajón haciéndole un papel pintado vivo animado con sus dibujos.

Me gustaría que dibujara unos pocos marcos y usar estos marcos para crear un fondo de pantalla en vivo mostrándolos uno tras otro.

Estoy luchando tanto para mostrar una imagen, luego esperar un poco y mostrar la siguiente. Estoy bastante seguro de que no puedo lograrlo porque no uso el enfoque correcto …

Esto es lo que he hecho hasta ahora:

public class Cercle extends WallpaperService { public void onCreate() { super.onCreate(); } public void onDestroy() { super.onDestroy(); } public Engine onCreateEngine() { return new CercleEngine(); } class CercleEngine extends Engine { public Bitmap image1, image2, image3; CercleEngine() { image1 = BitmapFactory.decodeResource(getResources(), R.drawable.img1); image2 = BitmapFactory.decodeResource(getResources(), R.drawable.img2); image3 = BitmapFactory.decodeResource(getResources(), R.drawable.img3); } public void onCreate(SurfaceHolder surfaceHolder) { super.onCreate(surfaceHolder); } public void onOffsetsChanged(float xOffset, float yOffset, float xStep, float yStep, int xPixels, int yPixels) { drawFrame(); } void drawFrame() { final SurfaceHolder holder = getSurfaceHolder(); Canvas c = null; try { c = holder.lockCanvas(); if (c != null) { c.drawBitmap(image1, 0, 0, null); c.drawBitmap(image2, 0, 0, null); c.drawBitmap(image3, 0, 0, null); } } finally { if (c != null) holder.unlockCanvasAndPost(c); } } } } 

Este código sólo mostrar las imágenes demasiado rápido, porque no sé cómo esperar entre las imágenes diplaying …

¿Puede alguien darme algunos consejos o mostrarme algún ejemplo de otra solución?

Muchas gracias !

ACTUALIZACIÓN:

Conseguí mi problema resuelto agregando un Runnable:

 private final Runnable drawRunner = new Runnable() { @Override public void run() { drawFrame(); } }; 

Y luego añadiendo:

  handler.removeCallbacks(drawRunner); if (visible) { handler.postDelayed(drawRunner, 1000); // delay 1 sec } 

Al final de drawFrame ().

Espero que esto ayude a alguien.

2 Solutions collect form web for “Fondo de pantalla en vivo con imágenes”

Utilice este proyecto de código abierto para crear un bonito fondo de pantalla en vivo para su amigo

Enlace que se lee de la galería del teléfono, usted puede corregirlo para leer de la carpeta en el proyecto del pr apenas uso como es.

O utilice este enlace para otro proyecto de fondo de pantalla en vivo

@Pozinux … Soy un nuevo programador. Me encontré con este código que has oído. Estoy tratando de usar el código en mi proyecto. Pero no puedo conseguir que funcione. Cuando lo instalo en el emulador no se mueve a través de sus marcos. Sólo muestra el último fotograma. ¿Cómo hiciste esto? ¿O conseguir que esto funcione? Escucha cómo lo configuré en mi proyecto.

 import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.service.wallpaper.WallpaperService; import android.view.SurfaceHolder; public class WallpaperSer extends WallpaperService { public void onCreate() { super.onCreate(); } public void onDestroy() { super.onDestroy(); } public Engine onCreateEngine() { return new WallpaperSerEngine(); } class WallpaperSerEngine extends Engine { public Bitmap image1; public Bitmap image2; public Bitmap image3; public Bitmap image4; public Bitmap image5; public Bitmap image6; public Bitmap image7; public Bitmap image8; public Bitmap image9; public Bitmap image10; public Bitmap image11; public Bitmap image12; public Bitmap image13; public Bitmap image14; public Bitmap image15; public Bitmap image16; public Bitmap image17; public Bitmap image18; public Bitmap image19; public Bitmap image20; WallpaperSerEngine() { image1 = BitmapFactory.decodeResource(getResources(), R.drawable.and1); image2 = BitmapFactory.decodeResource(getResources(), R.drawable.and2); image3 = BitmapFactory.decodeResource(getResources(), R.drawable.and3); image4 = BitmapFactory.decodeResource(getResources(), R.drawable.and4); image5 = BitmapFactory.decodeResource(getResources(), R.drawable.and5); image6 = BitmapFactory.decodeResource(getResources(), R.drawable.and6); image7 = BitmapFactory.decodeResource(getResources(), R.drawable.and7); image8 = BitmapFactory.decodeResource(getResources(), R.drawable.and8); image9 = BitmapFactory.decodeResource(getResources(), R.drawable.and9); image10 = BitmapFactory.decodeResource(getResources(), R.drawable.and10); image11 = BitmapFactory.decodeResource(getResources(), R.drawable.and11); image12 = BitmapFactory.decodeResource(getResources(), R.drawable.and12); image13 = BitmapFactory.decodeResource(getResources(), R.drawable.and13); image14 = BitmapFactory.decodeResource(getResources(), R.drawable.and14); image15 = BitmapFactory.decodeResource(getResources(), R.drawable.and15); image16 = BitmapFactory.decodeResource(getResources(), R.drawable.and16); image17 = BitmapFactory.decodeResource(getResources(), R.drawable.and17); image18 = BitmapFactory.decodeResource(getResources(), R.drawable.and18); image19 = BitmapFactory.decodeResource(getResources(), R.drawable.and19); image20 = BitmapFactory.decodeResource(getResources(), R.drawable.and20); } public void onCreate(SurfaceHolder surfaceHolder) { super.onCreate(surfaceHolder); } public void onOffsetsChanged(float xOffset, float yOffset, float xStep, float yStep, int xPixels, int yPixels) { drawFrame(); } void drawFrame() { final SurfaceHolder holder = getSurfaceHolder(); Canvas c = null; try { c = holder.lockCanvas(); if (c != null) { c.drawBitmap(image1, 0, 0, null); c.drawBitmap(image2, 0, 0, null); c.drawBitmap(image3, 0, 0, null); c.drawBitmap(image4, 0, 0, null); c.drawBitmap(image5, 0, 0, null); c.drawBitmap(image6, 0, 0, null); c.drawBitmap(image7, 0, 0, null); c.drawBitmap(image8, 0, 0, null); c.drawBitmap(image9, 0, 0, null); c.drawBitmap(image10, 0, 0, null); c.drawBitmap(image11, 0, 0, null); c.drawBitmap(image12, 0, 0, null); c.drawBitmap(image13, 0, 0, null); c.drawBitmap(image14, 0, 0, null); c.drawBitmap(image15, 0, 0, null); c.drawBitmap(image16, 0, 0, null); c.drawBitmap(image17, 0, 0, null); c.drawBitmap(image18, 0, 0, null); c.drawBitmap(image19, 0, 0, null); c.drawBitmap(image20, 0, 0, null); } } finally { if (c != null) holder.unlockCanvasAndPost(c); } } } } 
FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.