Опитвам се да разтегля изображения, които зареждам със залпове. XML не е много полезен, въпреки че може да ги свие, не помага да ги увеличите. Проучването ми по темата ме доведе до извода, че това може да се постигне само програмно.
Каква е идеята ми?
За да разширите библиотеката за залпове и да замените един от методите, преоразмерете растерното изображение веднага след изтегляне и преди да го покажете.
Използвах този код за преоразмеряване на изображения, които вече бяха на телефона, но това не ми помага много с произволни изображения от интернет.
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;
}
По принцип искам да присвоя на orig изображението, което е изтеглено, след това да го преоразмеря и след това да го покажа. Въпросът ми е: Какъв клас да продължа? Погледнах там, но тъй като нямам опит, не можах да разбера какво точно да търся. ImageLoader ли е? И по-конкретно: трябва ли да отменя метода getBitmap() и да добавя редактирана версия на кода за мащабиране?
Отказ от отговорност: Аз съм много неопитен и бих приел и други идеи.