【发布时间】:2018-12-05 22:02:58
【问题描述】:
我正在尝试通过滑行在背景中设置 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();
}
}
}
}
【问题讨论】:
-
阅读
android.graphics.CanvasAPI 文档 -
也许你在申请wallManager之前拥有的位图又名资源,你可以在位图中完成设置!我使用这种技术来减小图像和视频文件的大小,就像 whatsapp 或 facebook 一样!我认为这也适用于您的用例
-
它就像我需要原始位图的中心到手机显示高度和宽度
标签: android android-glide android-wallpaper