Когда мы прокручиваем, передний план главного экрана (значки, виджеты и т. Д.) Перемещается влево или вправо по всей ширине экрана, но только фоновое изображение (или живые обои) перемещается на часть этой ширины. Мой вопрос в том, как получить этот эффект. до этого сделали.андроид живые обои эффект параллакса-прокрутки
SurfaceHolder holder = getSurfaceHolder();
Canvas canvas = null;
try {
canvas = holder.lockCanvas();
if (canvas != null) {
drawCircles(canvas);
}
} finally {
if (canvas != null)
holder.unlockCanvasAndPost(canvas);
}
функция ничейный
{
private void draw(Canvas canvas) {
Paint paint = new Paint();
DisplayMetrics metdisplayMatrics = new DisplayMetrics();
Display display = ((WindowManager) getSystemService(WINDOW_SERVICE)).getDefaultDisplay();
display.getMetrics(metdisplayMatrics);
canvas.save();
canvas.drawColor(0xff000000);
mRecscreenRectangleFrame = new Rect(0, 0, (int) (metdisplayMatrics.widthPixels*2.0), metdisplayMatrics.heightPixels);
photo1= BitmapFactory.decodeResource(getResources(), R.drawable.img1);
canvas.drawBitmap(photo1, null,mRecscreenRectangleFrame, paint);
photo1.recycle();
System.gc();
}
Теперь, как поставить эффект живые обои параллакс-скроллинга.
@Override
public void onOffsetsChanged(float xOffset, float yOffset,
float xOffsetStep, float yOffsetStep, int xPixelOffset,
int yPixelOffset) {
super.onOffsetsChanged(xOffset, yOffset, xOffsetStep, yOffsetStep,
xPixelOffset, yPixelOffset);
WallpaperManager myWallpaperManager = WallpaperManager.getInstance(getApplicationContext());
View view=new View(getBaseContext());
myWallpaperManager.setWallpaperOffsets(view.getWindowToken(),xOffset, 0f);
}
еще не работает .................
спасибо j__m, пожалуйста, если вы можете дать мне ответ в деталях, я новичок в android. –
Я разработал. –
спасибо J____M. –