图一是原图,图二是手机壁纸,获取手机屏幕分辨率,并将其值给了suggestDesiredDimensions(),得不到想要的效果,点进去看suggestDesiredDimensions(int minimumWidth, int minimumHeight),参数是最低限度的,应该只有这个方法可以设置大小啊, 这种情况该怎么办?
val height: Int = WindowPixels.getWindowHeigh(this)
val width: Int = WindowPixels.getWindowWidth(this)
val wallpaperManager = WallpaperManager.getInstance(applicationContext)
val target: CustomTarget<Bitmap?> = object : CustomTarget<Bitmap?>() {
override fun onLoadCleared(@Nullable placeholder: Drawable?) {}
// 加载图片及设置壁纸大小
override fun onResourceReady(resource: Bitmap, transition: Transition<in Bitmap?>?) {
wallpaperManager.setBitmap(resource)
wallpaperManager.suggestDesiredDimensions(width,height)
Log.d("BackgroundService -- ","onResourceReady ")
}
}


对于这个问题嘛,就是你期望的是怎么样子的呢?
抛开你的期望,说图片和显示。
当一个图片长宽和屏幕长宽不一样时,有这些些case
当图片的长宽比例与屏幕的长宽比例不一样时:
如果图片的比例跟屏幕的长宽比例一样,我们可以通过缩放的方式去显示既可。
回到你提的问题上,要么你让设计师整一张长宽比例跟你屏幕一样大的,要么就是修改显示的样式,是拉伸,还是包含,还是按比例放大平铺。
你就拿ImageView的图片显示方式来理解就知道了,可以去了解一下ImageView的ScaleType属性。