我试图在滑行中将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();
}
}
}
}
答案 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)