2013-08-26 80 views
1

我目前一直在嘗試使用我製作的Android壁紙應用程序來設置手機的背景。然而,每次我按「設置背景」時,它都會拉伸圖像。Android,設置背景拉伸或放大,但從未正確

下面是我使用

btnSetWallpaper.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 

       WallpaperManager wManager; 

       try { 

        // Bitmap bitmap = ((BitmapDrawable)imageView1.getDrawable()).getBitmap(); 
        wManager = WallpaperManager.getInstance(view.getContext().getApplicationContext()); 

        Display display = getWindowManager().getDefaultDisplay(); 
        Point size = new Point(); 
        display.getSize(size); 
        int fullWidth = size.x; 
        int fullHeight = size.y; 

        //int fullWidth = wManager.getDesiredMinimumWidth(); 
        //int fullHeight = wManager.getDesiredMinimumHeight(); 

        Log.d("Debug", Integer.toString(fullWidth)); 
        Log.d("Debug", Integer.toString(fullHeight)); 

        Bitmap bitmapResized = Bitmap.createScaledBitmap(bmpWallpaper, fullWidth * 2, fullHeight, true); 
        wManager.setBitmap(bitmapResized); 


       } catch (IOException e) { 
        e.printStackTrace(); 
       } 

       Core.makeNotification(view.getContext(), "MyNotification", "Your wallpaper has been set, enjoy!"); 
       Core.makeAlert(view.getContext(), "Wallpaper set", "Your wallpaper has been set, enjoy!"); 

      } 
     }); 
+0

你在做'fullWidth * 2'嗎? – bakriOnFire

+0

有人告訴我,作品,但它沒有工作,它也無法正常工作,如果我刪除* 2 –

+0

位圖的大小是什麼。縮放比手機的屏幕小的位圖會擴展。 – bakriOnFire

回答

1

好從bakriOnFire我搜索周圍的鏈路上的評論後的代碼,他給了我,有點我的代碼相結合的有我描述的代碼之後找到了解決方案!

btnSetWallpaper.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 

       try { 
        WallpaperManager wManager = WallpaperManager.getInstance(view.getContext()); 

        Display display = getWindowManager().getDefaultDisplay(); 
        Point size = new Point(); 
        display.getSize(size); 
        int fullWidth = size.x; 
        int fullHeight = size.y; 

        //int fullWidth = wManager.getDesiredMinimumWidth(); 
        //int fullHeight = wManager.getDesiredMinimumHeight(); 

        Log.d("Debug", Integer.toString(fullWidth)); 
        Log.d("Debug", Integer.toString(fullHeight)); 


        Bitmap bitmapResized = Bitmap.createScaledBitmap(bmpWallpaper, fullWidth, fullHeight, true); 
        wManager.suggestDesiredDimensions(bitmapResized.getWidth(), bitmapResized.getHeight()); 

        wManager.setBitmap(bitmapResized); 



       } catch (IOException e) { 
        e.printStackTrace(); 
       } 

       Core.makeNotification(view.getContext(), "MCPaper", "Your wallpaper has been set, enjoy!"); 
       Core.makeAlert(view.getContext(), "Wallpaper set", "Your wallpaper has been set, enjoy!"); 

      } 
     }); 

我真的很希望今後能很好地幫助別人,因爲我在這方面花了很長時間。享受