2013-04-24 1 views
0

Я работаю над сложным дизайном пользовательского интерфейса, он похож на круглое колесо, содержащее 10 значков в круговом локусе. Мне нужно масштабировать каждый значок в соответствии с разрешением устройства. Пожалуйста, ознакомьтесь с конкретным фрагментом кода: -Масштабирование изображения не работает должным образом

   if (displayWidth<=241) { 
     bitmap = scaleBimtap(bitmap, 42, 39); 
    }else if (displayWidth<=320) { 
     bitmap = scaleBimtap(bitmap, 42, 39); 
    }else if (displayWidth<=480) { 
     bitmap = scaleBimtap(bitmap, 52, 44); 
    }else{ 
     bitmap = scaleBimtap(bitmap, 52, 44); 
    } 

HTC sensation - это устройство разрешения 540X960. Итак, вот битмап = scaleBimtap (bitmap, 52, 44); должен быть выбран в этом случае, но это, по-видимому, ошибочно масштабируется, а значки отображаются больше. Что я могу сделать для этого?

ответ

-1

Изображение из URL

ImageView = новый (ImageView) findViewById (R.id.myImage);

Получить изображение из Url

Bitmap originalBitmap = getBitmapFromURL("http://www.chennaionline.com/home.JPG"); 

метода getBitmapFromURL:

public static Bitmap getBitmapFromURL(String src) { 
     try { 
      URL url = new URL(src); 
      HttpURLConnection connection = (HttpURLConnection) url 
        .openConnection(); 
      connection.setDoInput(true); 
      connection.connect(); 
      InputStream input = connection.getInputStream(); 
      Bitmap myBitmap = BitmapFactory.decodeStream(input); 
      return myBitmap; 
     } catch (IOException e) { 
      e.printStackTrace(); 
      return null; 


} 
} 

Набор растрового

Bitmap bitmap = Bitmap.createScaledBitmap(originalBitmap, width, 
       height, false); 

imageView.setImageBitmap(bitmap); 

Изображения из ресурсов файла

Bitmap bitmap = ((BitmapDrawable)imageView.getDrawable()).getBitmap(); 
+0

Мне не нужно скачивать изображения. У меня уже есть изображения из ресурса, который можно использовать. –

+0

см. Мое обновленное решение с использованием выделенного изображения – vinoth