Я использую Universal ImageLoader для загрузки больших изображений с сервера и отображения их в потоке. Проблема, с которой я столкнулась, заключается в том, что я не могу установить собственный размер для своего изображения. Это просто весь экран. Например, я загружаю изображение размером 500 x 1200 - и я хочу отображать его размером 300 x 300. Но он отображает весь экран. Пожалуйста, помогите мне в этом вопросе, поскольку я застрял более 3 дней. Благодарю.Display Custom Size Image Universal ImageLoader
Код
public class HomeCoverFlow {
Context mContext;
public CoverFlow coverFlow;
ImageAdapter coverImageAdapter;
ImageLoader imageLoader = ImageLoader.getInstance();
DisplayImageOptions options;
/** Called when the activity is first created. */
public HomeCoverFlow(Context context)
{
mContext = context;
options = new DisplayImageOptions.Builder()
.showImageOnLoading(R.drawable.flyer_placeholder)
.showImageForEmptyUri(R.drawable.flyer_placeholder)
.imageScaleType(ImageScaleType.EXACTLY)
.cacheInMemory(true)
.build();
coverFlow = new CoverFlow(context);
coverImageAdapter = new ImageAdapter(mContext);
coverFlow.setAdapter(coverImageAdapter);
coverFlow.setSpacing(-25);
coverFlow.setSelection(2, true);
coverFlow.setAnimationDuration(1000);
coverFlow.setGravity(Gravity.CENTER_VERTICAL);
// HEIGHT
coverImageAdapter.coverflowHeight = 100; //display.getHeight()/3;
//WIDTH
coverImageAdapter.coverflowWidth = 100;// display.getWidth()/2;
}
Способ адаптера для создания представлений элементов, Здесь я использую imageloader для загрузки изображения и отображения
public View getView(int position, View convertView, ViewGroup parent) {
FeaturedFlyerData data = (FeaturedFlyerData) getItem(position);
if(data.flyerImage == null)
{
setNewImage(position);
}
//see text or image
if(data.displayImage)
{
data.flyerImage.setBackgroundColor(Color.BLACK);
imageLoader.displayImage(data.url, data.flyerImage, options, null);
}
return data.flyerImage;
}
void setNewImage(int position)
{
FeaturedFlyerData data = (FeaturedFlyerData) getItem(position);
data.flyerImage = new ImageView(mContext);
data.flyerImage.layout(0, 10, 200,350);
data.flyerImage.setScaleType(ScaleType.CENTER_INSIDE);
data.flyerImage.setTag(Integer.toString(position));
data.flyerImage.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
imageClicked(Integer.parseInt(v.getTag().toString()));
}
});
}
}
Я не знаю, что еще фрагмент кода, чтобы обеспечить Вот. Прошу прокомментировать, если вам нужны дополнительные разъяснения. Благодарю.
data.flyerImage является ImageView правильно? Вы пытались установить layout_height и layout_width этого ImageView? –
@GlaucoNeves да, это изображение. Я уже установил метод setNewImage. См. Мое редактирование. Правильно ли я делаю это? – NightFury
Попробуйте data.flyerImage.getLayoutParams(). Height = 100; data.flyerImage.getLayoutParams(). width = 100; –