android - 使用视差滚动制作安卓动态壁纸

标签 android

我正在创建一个带有视差滚动的动态壁纸。我读过这篇文章:Parallax effect scrolling of live wallpaper background .但是当我改变桌面时,背景移动方向错误(如果我从左到右改变桌面,图片从右到左移动)。如何改变方向? 代码 fragment :

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();
}   

最佳答案

我知道这是一个老问题,但由于这是 Google 上的高结果,您只需翻转翻译上的标志即可。

canvas.translate(-dx, 0);

这将有效地反转用户滑动时背景滚动的方向。希望这对其他人有帮助。

关于android - 使用视差滚动制作安卓动态壁纸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12986761/

相关文章:

android - 无法使用 FFMPEG 命令合并视频

android - Codenameone Google Play 警告 : SSL Error Handler Vulnerability

android - 如何在 Android 中的两个 Activity 之间显示 "Loading"栏

java - 如何使用java读取android中符号链接(symbolic link)的目标

java - Android Studio 无法识别字符串

Android Studio - 在 fragment 中使用 Assets 管理器设置自定义字体

java - 尝试在 Android 上运行时无法处理,索引时出错

java - 更改 View 位置

java - 工作条件根据男性和女性的选择而匹配

android - 查看下面的内容 ExpandableListView