Я работаю над живыми обоями, которые меняют картинку каждые несколько секунд. На «домашнем экране» телефона больше одного экрана. Пользователь может прокручивать вправо и влево, чтобы увидеть дополнительные значки приложений или виджеты, которые у него есть.
В прошлом у меня были «статические» изображения обоев, которые «распространялись» на ВСЕ «домашние» экраны таким образом, что пользователь видел часть изображения каждый раз, когда он прокручивал вправо или влево. Я пытаюсь настроить изображение живых обоев, чтобы сделать то же самое, но безуспешно.
Вы можете посоветовать?
Это мой код drawFrame():
final SurfaceHolder holder = getSurfaceHolder();
Canvas c = null;
try
{
c = holder.lockCanvas();
c.drawColor(Color.BLACK); // clear the canvas
if (c != null)
{
c.save();
c.translate((float) mxOffset, 0);
if(myBg != null) {
float xScale = (float) c.getWidth() / myBg.getWidth();
float yScale = (float) c.getHeight() / myBg.getHeight();
c.scale(xScale, yScale);
c.drawBitmap(myBg, 0, 0, null);
//visible = true;
}
}
}
finally{
if (c != null) holder.unlockCanvasAndPost(c);
}
handler.removeCallbacks(runnable);
if (visible)
{
handler.postDelayed(runnable, 10000); // delay 10 sec
}
}