live wallpaper avec des images
(désolé pour mon vraiment englih n'est pas si bon... j'espère que vous me comprendrez)
Mon ami est un très bon tireur. Je voudrais l'aider à être connu comme un bon tireur en lui faisant un live wallpaper animé avec ses dessins.
Je voudrais lui permettre de tirer quelques images et l'utilisation de ces images pour créer un live wallpaper par l'affichage d'eux l'un après l'autre.
Je suis aux prises tant pour afficher une image, puis attendre un peu et d'affichage de la suivante. Je suis tout à fait sûr que je ne parviens pas à le faire parce que je n'utilise pas la bonne approche...
C'est ce que j'ai fait jusqu'à maintenant :
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);
}
}
}
}
Ce code il vous suffit d'afficher les images trop vite parce que je ne sais pas comment faire pour attendre entre l'affichage des images...
Quelqu'un peut-il me donner quelques conseils ou me montrer un exemple d'une autre solution ?
Merci beaucoup !
Mise à JOUR :
J'ai obtenu mon problème résolu par l'ajout d'un Exécutable :
private final Runnable drawRunner = new Runnable()
{
@Override
public void run() {
drawFrame();
}
};
et puis en ajoutant :
handler.removeCallbacks(drawRunner);
if (visible)
{
handler.postDelayed(drawRunner, 1000); //delay 1 sec
}
à la fin de l'étirage().
Espère que cela aidera quelqu'un.
OriginalL'auteur Pozinux | 2011-09-03
Vous devez vous connecter pour publier un commentaire.
utiliser ce projet open source pour créer une belle live wallpaper pour votre ami
lien il est lu à partir du téléphone de la galerie, vous pouvez le modifier pour lire à partir du dossier dans le projet pr juste l'utiliser comme il est.
ou d'utiliser ce lien pour d'autres live wallpaper projet
bienvenue à tout moment
OriginalL'auteur Alex
@Pozinux... je suis un nouveau programmeur. Je suis tombé sur ce code, vous devez entendre. Je suis en train d'utiliser le code dans mon projet. Mais je ne peux pas le faire fonctionner. Quand j'ai installer l'émulateur qu'il ne bouge pas par le biais de ses cadres. Il ne montre que la dernière image. Comment avez-vous mis cela en place? Ou obtenir que cela fonctionne? Entend la façon dont je l'ai installé dans mon projet.
OriginalL'auteur KodiakBear211