2015-01-15 5 views
0

я использую код, чтобы установить обои на рабочий стол:Программным, чтобы уменьшить размер изображения для предварительного просмотра

Button buttonSetWallpaper = (Button)findViewById(R.id.set); 
     ImageView imagePreview = (ImageView)findViewById(R.id.preview); 
     imagePreview.setImageResource(R.drawable.five); 

     buttonSetWallpaper.setOnClickListener(new Button.OnClickListener(){ 
     @Override 
     public void onClick(View arg0) { 
     // TODO Auto-generated method stub 
     WallpaperManager myWallpaperManager 
     = WallpaperManager.getInstance(getApplicationContext()); 
     try { 
      myWallpaperManager.setResource(R.drawable.five); 
     } catch (IOException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
     }}); 

, как вы можете видеть из кода, для предварительного просмотра и установить обои используется один и тот же образ (R. drawable.five). Можно ли программно изменить размер и качество изображений для предварительного просмотра? Или единственный способ создать еще меньшую картинку и использовать ее в качестве предварительного просмотра? Также я был бы очень благодарен, если кто-то бросит ссылку на источник установить обои похожи на это: http://iscr.ru/1421354369/

+0

по уменьшить размер изображения, который вы хотите сжать изображение например, от 250 кб до 120 кб или изменить ширину и высоту изображения? – Ankit

+0

Да, я не хочу создавать отдельное изображение для предварительного просмотра. – GAAAN

ответ

0

Ну, предполагая, что вы пытаетесь изменить ширину и высоту изображения. Вот как вы можете это сделать.

imagePreview.getLayoutParams().height = 20; 
imagePreview.getLayoutParams().width = 30; 

Если ваш взгляд изображение является динамическим использование этого:

LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(20, 30); 
imagePreview.setLayoutParams(layoutParams); 

В случае, если вы хотите масштабировать изображения, пожалуйста, проверьте этот ответ How to compress images programatically

+0

Спасибо! Оно работает! но не решить мою проблему. Тот факт, что я использую размер изображения 1920 * 1080. И даже если я визуально изменил изображение на вашем коде, интерфейс моего приложения очень «медленный». Возможно, вы знаете, где взять исходный код стандартного приложения для Android, чтобы применить «Обои». Например: http://iscr.ru/1421354369/ – GAAAN

+0

возможно это может вам помочь .. http://stackoverflow.com/questions/12346023/creating-simple-wallpaper-application-in-android – Ankit

+0

Спасибо за ссылку. Я проверю! – GAAAN