2016-06-14 4 views
0

をスクリーニングするために適合し、しかし、問題は、私は、画像をスクロールできるようであるとして、完全な画像を設定することはできませんよ、ここに私はそう壁紙の設定は、私はPicasaのAPIを使用してイメージをロードしていた

public class Utils { 
    private String TAG = Utils.class.getSimpleName(); 
    private Context _context; 
    private PrefManager pref; 

    // constructor 
    public Utils(Context context) { 
     this._context = context; 
     pref = new PrefManager(_context); 
    } 

    /* 
    * getting screen width 
    */ 
    @SuppressWarnings("deprecation") 
    public int getScreenWidth() { 
     int columnWidth; 
     WindowManager wm = (WindowManager) _context 
       .getSystemService(Context.WINDOW_SERVICE); 
     Display display = wm.getDefaultDisplay(); 

     final Point point = new Point(); 
     try { 
      display.getSize(point); 
     } catch (java.lang.NoSuchMethodError ignore) { 
      // Older device 
      point.x = display.getWidth(); 
      point.y = display.getHeight(); 
     } 
     columnWidth = point.x; 
     return columnWidth; 
    } 

    public void saveImageToSDCard(Bitmap bitmap) { 
     File myDir = new File(
       Environment 
       .getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES), 
       pref.getGalleryName()); 

     myDir.mkdirs(); 
     Random generator = new Random(); 
     int n = 10000; 
     n = generator.nextInt(n); 
     String fname = "Wallpaper-" + n + ".jpg"; 
     File file = new File(myDir, fname); 
     if (file.exists()) 
      file.delete(); 
     try { 
      FileOutputStream out = new FileOutputStream(file); 
      bitmap.compress(Bitmap.CompressFormat.JPEG, 90, out); 
      out.flush(); 
      out.close(); 
      Toast.makeText(
        _context, 
        _context.getString(R.string.toast_saved).replace("#", 
          "\"" + pref.getGalleryName() + "\""), 
        Toast.LENGTH_SHORT).show(); 
      Log.d(TAG, "Wallpaper saved to: " + file.getAbsolutePath()); 

     } catch (Exception e) { 
      e.printStackTrace(); 
      Toast.makeText(_context, 
        _context.getString(R.string.toast_saved_failed), 
        Toast.LENGTH_SHORT).show(); 
     } 
    } 

    public void setAsWallpaper(Bitmap bitmap) { 
     WallpaperManager wallpaperManager = WallpaperManager.getInstance(_context); 
    try { 

     int widht=Resources.getSystem().getDisplayMetrics().widthPixels; 
     int height=Resources.getSystem().getDisplayMetrics().heightPixels; 
     wallpaperManager.suggestDesiredDimensions(widht, height); 
     wallpaperManager.setBitmap(bitmap); 
     } catch (IOException e) { 
     e.printStackTrace(); 
     }} 
} 

Iを使用していたコードがあるさ間違っている............................................... .........

答えて

0

は、Launcherアプリケーションによって制御されます。スクロールしない壁紙が必要な場合は、壁紙をスクロールしないランチャーアプリをインストールします。 Jelly Beanより前のAndroid OSでは、ライブ壁紙をプログラム的に設定することはできません。今のところ、Jelly Beanは、ユーザの介入なしにプログラムによるライブ壁紙の変更をサポートします。

関連する問題