2012-08-24 1 views
0

안드로이드에서 배경 화면을 설정하는 것이 유용한 방식으로 작동하지 않는 것 같습니다. 당신이 휴대 전화에서 이미지를 얻고 배경 화면으로 설정하면안드로이드에서 배경 화면을 올바르게 설정하는 방법

  • , 그것은 (방법 화면
  • 당신이 그것을 크기를 조정하면 너무 크다 중 하나는 크기를 지정할 수 있습니다() 함수 createBitmap를 사용하여, 또는 무의미하게 쓸모없는 createScaledBitmap()) 모두가 울퉁불퉁하고 초점이 흐리다.
  • 이미지의 품질을 수정하기 위해 이상한 해킹을 사용하면 더 좋지만 어떤 스트레칭으로도 완벽하지는 않습니다.
  • 현재 배경 화면을 가져 와서 설정하려고하면 여전히 너무 크게 보이게됩니다. 원래의 이미지 파일을 제공하는 것으로 보이며 크기를 조정해야합니다. 작동하지 않습니다.

이제 휴대 전화의 내부 소프트웨어는 이미지 품질을 저하시키지 않고 이미지의 크기를 완전히 줄일 수 있습니다. 왜이 기능을 공유하지 않습니까?

WallpaperManager wallpaperManager = WallpaperManager.getInstance(Spinnerz.this); 

// gets the image from file, inexplicably upside down. 
Bitmap bitmap = BitmapFactory.decodeFile(Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator + "DCIM/Camera/Zedz.jpg"); 

// use some rotation to get it on an angle that matches the screen. 
Matrix bitmapTransforms = new Matrix(); 
bitmapTransforms.setRotate(90); // flip back upright 
bitmap = Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(), bitmap.getHeight(),bitmapTransforms, false); // create bitmap from bitmap from file, using the rotate matrix 

// lets set it exactly to the resolution of my Samsung Galaxy S2: 480x800 pixels. 
// This function appears to exist specifically to scale a bitmap object - should do a good job of it! 
bitmap = Bitmap.createScaledBitmap(bitmap, 480, 800, false); 
wallpaperManager.setBitmap(bitmap); 

// result is quite a jaggy image - not suitable as a wallpaper. 

PIC :

답변

0

이 시도,

Display d = ((WindowManager)getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay(); 
         int width = d.getWidth(); 
         int height = d.getHeight(); 
+0

이 문제는 화면의 크기를 받고 있지 않습니다. 문제는 이미지를이 치수로 설정하면 끔찍한 품질로 크기가 조정된다는 것입니다. – Nauraushaun

+0

@ user1622433 일부 코드를 게시하십시오. 너 무슨 짓을 한거야? – Numair

+0

일부 코드가 추가되었습니다. 대부분 청소가 가능하지만 여전히 유용하지는 않습니다. – Nauraushaun