滑动没有图像视图的裁剪图像

时间:2018-12-05 07:50:44

标签: android android-glide android-wallpaper

我试图在滑行中将wallaper设置为滑行。一切正常,但所应用的wallaper就像图像的角落。由于在工作服务中对其进行了调整,因此我无法使用图像视图来缩放图像。没有任何方法可以裁剪图像。在Glide上使用centerCrop()尝试过,但不起作用。

@Override
public void onComplete(Photo photo) {

    String photoUrl = photo.getUrls().getRegular();
    Glide.with(getApplicationContext()).asBitmap().load(photoUrl)
        .apply(new RequestOptions().centerCrop()).into(new
    SimpleTarget<Bitmap>() {
        @Override
        public void onResourceReady(@NonNull Bitmap resource,
        @Nullable Transition<? super Bitmap> transition) {
            WallpaperManager wallManager =
            WallpaperManager.getInstance(getApplicationContext());
            try {
                wallManager.clear();
                wallManager.setBitmap(resource);

            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

1 个答案:

答案 0 :(得分:0)

您可以使用custom transformations来通过BitmapTransformation的回调方法裁剪位图。

transformation examples有一些很好的参考,很容易使用。

这是我对kotlin的测试代码:

val photoUrl = "imageurl"
    val target = object : SimpleTarget<Bitmap>(450, 450) {
        override fun onResourceReady(resource: Bitmap, transition: Transition<in Bitmap>?) {
            imageView.setImageBitmap(resource)
        }
    }

    GlideApp.with(this@MainActivity).asBitmap().load(photoUrl)
        .apply(bitmapTransform(RoundedCornersTransformation(38, 0, RoundedCornersTransformation.CornerType.ALL)))
        .into(target)