Einfache Android-Live-Wallpaper mit der Reihenfolge der Bilder - Aktualisiert mit code
Ich entwickeln möchte, eine einfache Live-Wallpaper mit einer Sequenz von Bildern. Die einzige animation, die erforderlich ist für jedes Bild fade-in und fade-out.
Alle tutorials die ich gefunden habe, online für LWP zu zeigen, wie die Auslosung Leinwand für ausgefallene Animationen und Zeichnung. Dies ist nicht erforderlich für meine app, ich will nur zum Durchlaufen einer Auflistung von Bildern.
Wird ein Anfänger-Programmierer, ich brauche etwas Hilfe lernen, wie man eine Schleife durch ein array von Bildern und wie die Anzeige als wallpaper.
Kann niemandem teilen einige code oder Stelle mich auf ein gutes tutorial dafür?
UPDATE
Die LWP lädt auf meinem Gerät, aber das Hintergrundbild nicht ändern. Es ist fest auf image3, ironman
Hier ist der code, den ich bisher haben. Ich nehme an, ich mache etwas falsch in der draw () -
public class Wallpaper extends WallpaperService {
public void onCreate() {
super.onCreate();
}
public void onDestroy() {
super.onDestroy();
}
public Engine onCreateEngine() {
return new CercleEngine();
}
class CercleEngine extends Engine {
private final Handler handler = new Handler();
private final Runnable drawRunner = new Runnable() {
@Override
public void run() {
draw();
}
};
private boolean visible = true;
public Bitmap image1, image2, image3;
CercleEngine() {
image1 = BitmapFactory.decodeResource(getResources(),
R.drawable.batman);
image2 = BitmapFactory.decodeResource(getResources(),
R.drawable.captainamerica);
image3 = BitmapFactory.decodeResource(getResources(),
R.drawable.ironman);
}
public void onCreate(SurfaceHolder surfaceHolder) {
super.onCreate(surfaceHolder);
}
@Override
public void onVisibilityChanged(boolean visible) {
this.visible = visible;
if (visible) {
handler.post(drawRunner);
} else {
handler.removeCallbacks(drawRunner);
}
}
@Override
public void onSurfaceDestroyed(SurfaceHolder holder) {
super.onSurfaceDestroyed(holder);
this.visible = false;
handler.removeCallbacks(drawRunner);
}
public void onOffsetsChanged(float xOffset, float yOffset, float xStep,
float yStep, int xPixels, int yPixels) {
draw();
}
void draw() {
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);
}
handler.removeCallbacks(drawRunner);
if (visible)
{
handler.postDelayed(drawRunner, 1000); //delay 1 sec
}
}
}
InformationsquelleAutor tiptopjat | 2012-07-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es gibt keinen einfachen Weg, um die Schleife durch ein array von Bildern. Es müsste manuell gemacht werden.
Einer Vorgehensweise, die Sie übernehmen könnten, ist zu halten Sie Ihre Bilder, die im /res/drawable
und dann ein int [] - array zu speichern, der Rest ist von den Bildern und dann in einer Schleife durch.
Einem gut erklärten tutorial auf Live Wallpapers finden Sie hier:
http://www.vogella.com/articles/AndroidLiveWallpaper/article.html
Glück
sind Sie in der Lage zu entwickeln, die eine Live-Wallpaper mit einer Sequenz von Bildern mit fade-in und fade-out-Effekt.ich bin auch geschlagen mit dem gleichen problem-könntest du plz mir helfen.
InformationsquelleAutor Raul-