Я пытаюсь растянуть изображения, которые загружаю залпом. XML не очень помогает, хотя он и может уменьшить их, но не поможет увеличить. Мое изучение темы привело меня к выводу, что этого можно добиться только программно.
Какова моя идея?
Для расширения библиотеки volley и переопределения одного из методов изменения размера растрового изображения сразу после загрузки и перед его отображением.
Я использовал этот код для изменения размера изображений, которые уже были на телефоне, но это не очень помогает мне со случайными изображениями из Интернета.
Point outSize=new Point();
float destWidth=1;
float destHeight=1;
@SuppressWarnings("deprecation")
@TargetApi(13)
private Bitmap scaleBitmap(int mFile){
Display display = getActivity().getWindowManager().getDefaultDisplay();
if (android.os.Build.VERSION.SDK_INT >= 13){
display.getSize(outSize);
destWidth = outSize.x;
destHeight = outSize.y;
}else{
destWidth=display.getWidth();
destWidth=display.getHeight();
}
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
Bitmap orig = BitmapFactory.decodeResource(getResources(), mFile);
float srcWidth = orig.getWidth();
float srcHeight = orig.getHeight();
float inSampleSize = 1;
if(getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE){
inSampleSize=(destHeight/2)/srcHeight;
}else{
inSampleSize=(destHeight/4)/srcHeight;}
options = new BitmapFactory.Options();
Bitmap resized=Bitmap.createScaledBitmap(orig, (int)Math.round(orig.getWidth()*inSampleSize), (int)Math.round(orig.getHeight()*inSampleSize), true);
destWidth=1;
destHeight=1;
return resized;
}
В основном я хочу назначить исходное загруженное изображение, затем изменить его размер и затем отобразить. Мой вопрос: какой класс я расширяю? Я посмотрел там, но, поскольку я неопытен, я не мог понять, что именно искать. Это ImageLoader? А точнее: следует ли переопределить метод getBitmap() и добавить отредактированную версию кода для масштабирования?
Отказ от ответственности: я очень неопытен, и я бы принял и другие идеи.