Hacer android fondo de pantalla en vivo con paralaje desplazamiento

Estoy creando un fondo de pantalla en vivo con desplazamiento de paralaje. He leído el artículo: Parallax efecto de desplazamiento de fondo de fondo de pantalla en vivo . Pero cuando cambio de escritorio, el fondo se mueve de manera incorrecta (si cambio de escritorio de izquierda a derecha, la imagen se mueve de derecha a izquierda). ¿Cómo cambiar la dirección? Fragmento de código:

public void Init(Bitmap bitmap){ bg = new BitmapFactory().decodeResource(context.getResources(), R.drawable.thunder); bg = Bitmap.createScaledBitmap(bg, (int)(width*1.4), height, true); } float dx = 0.0f; @Override public void onOffsetsChanged(float xOffset, float yOffset, float xStep, float yStep, int xPixels, int yPixels) { dx = (width - bg.getWidth()) * (1 - xOffset); } private void doDraw(Canvas canvas) { canvas.save(); canvas.translate(dx, 0); canvas.drawBitmap(bg, 0, 0, null); canvas.restore(); } 

Sé que esto es un problema antiguo, pero como este es un resultado alto en Google, todo lo que necesitas hacer es darle la vuelta a la señal en tu traducir.

 canvas.translate(-dx, 0); 

Esto invertirá efectivamente la dirección en que el fondo se desplaza cuando el usuario pasa. Espero que esto ayude a otros.

El algoritmo aquí necesita ser cambiado:

 dx = (width - bg.getWidth()) * (1 - xOffset); 

Debe cambiarse a algo similar a:

 dx = (width) * (xOffset); 

Una alternativa sería acceder al método canvas.drawBitmap () directamente a través de algo como esto:

 canvas.drawBitmap(bg, xPixels, 0, null); 

Dx = ( anchurabg .getWidth ()) * xOffset;

dónde:

Anchuraancho del lienzo;
Bg – mapa de bits

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.