Java 壁纸在应用后自动裁剪
我从一个源代码编译了一个墙纸应用程序,插入了一些1230x720的图片,但是当我使用该应用程序应用墙壁时,它们总是被自动裁剪。我应该在代码中更改什么以应用于原始大小和分辨率Java 壁纸在应用后自动裁剪,java,android,xml,wallpaper,Java,Android,Xml,Wallpaper,我从一个源代码编译了一个墙纸应用程序,插入了一些1230x720的图片,但是当我使用该应用程序应用墙壁时,它们总是被自动裁剪。我应该在代码中更改什么以应用于原始大小和分辨率 private Bitmap getImage(int resourceId) { Bitmap bitmap = BitmapFactory.decodeResource(context.getResources(), resourceId, null); Bitmap scaledBitmap = Bit
private Bitmap getImage(int resourceId) {
Bitmap bitmap = BitmapFactory.decodeResource(context.getResources(), resourceId, null);
Bitmap scaledBitmap = Bitmap.createScaledBitmap(bitmap, manager.getDesiredMinimumWidth(), manager.getDesiredMinimumHeight(), true);
bitmap.recycle();
bitmap = null;
return scaledBitmap;
}
下面是一个例子:
1.原图:
2.使用我的应用程序作为壁纸应用后:
源代码:blog.dell-apps.com/set-phone-wallpaper/
谢谢
编辑:HeavyLifter.java中的代码似乎是罪魁祸首,如何将其更改为“适合屏幕分辨率”
图像(720x1230)和manager.getDesiredMinimumWidth()与manager.getDesiredMinimumHeight()的纵横比(720x1280)不同,因此图像会失真
因此,请提供具有合适纵横比的图像,或在应用缩放操作之前裁剪图像您能告诉我如何保持纵横比吗。我是noob:-(我可以从这里的第二个答案正确地插入我的手机屏幕,但不确定它是否适用于其他具有不同Res的手机是的,这是您必须做的。您可能希望用最大宽度和高度(与设备屏幕大小相比)替换4096。请参阅