2

我对设置墙纸有点困惑,在我的银河系中,如果我通过代码设置墙纸,则默认情况下它不会滚动,但如果 galary 设置墙纸,则它会滚动

避免墙纸跨越 5 个屏幕

这取决于家庭午餐应用程序,但我如何管理在我的代码中禁用的滚动功能

// the content of our screen.
    setContentView(R.layout.wallpaper_2);
    final WallpaperManager wallpaperManager = WallpaperManager
            .getInstance(this);
    final Drawable wallpaperDrawable = wallpaperManager.getDrawable();
    final ImageView imageView = (ImageView) findViewById(R.id.imageview);
    imageView.setDrawingCacheEnabled(true);
    imageView.setImageDrawable(wallpaperDrawable);

    Button randomize = (Button) findViewById(R.id.randomize);
    randomize.setOnClickListener(new OnClickListener() {
        public void onClick(View view) {
            int mColor = (int) Math.floor(Math.random() * mColors.length);
            wallpaperDrawable.setColorFilter(mColors[mColor],
                    PorterDuff.Mode.MULTIPLY);
            imageView.setImageDrawable(wallpaperDrawable);
            imageView.invalidate();
        }
    });

    Button setWallpaper = (Button) findViewById(R.id.setwallpaper);
    setWallpaper.setOnClickListener(new OnClickListener() {
        public void onClick(View view) {
            try {
                wallpaperManager.setBitmap(imageView.getDrawingCache());
                finish();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    });

wallpaperwizardrii应用程序支持滚动和不滚动功能,这意味着它是可能的,但是在投入了这么多时间之后我没有得到解决方案。

我尝试设置wallpaperManager.setWallpaperOffsetSteps(xStep, yStep);但无法获得结果我是否缺少任何我不知道的 api

帮助我提前谢谢...

编辑:我正在从下面的代码中在我的手机中设置一个壁纸,它的结果是好的,因为我的手机中有 ICS,但在模拟器中它被拉伸了。

WallpaperManager wallpaperManager = WallpaperManager.getInstance(this);

    Bitmap bitmap = BitmapFactory.decodeResource(getResources(),
            R.drawable.dashboard);
    Bitmap useThisBitmap = Bitmap.createScaledBitmap(bitmap,
            wallpaperManager.getDesiredMinimumWidth(),
            wallpaperManager.getDesiredMinimumHeight(), true);
    bitmap.recycle();

    try {
        wallpaperManager.setBitmap(useThisBitmap);
    } catch (IOException e) {
        e.printStackTrace();
    }

    Log.e("", "Width : " + wallpaperManager.getDesiredMinimumWidth());
    Log.e("", "Height : " + wallpaperManager.getDesiredMinimumHeight());

和offset有关系吗??

4

0 回答 0