Приветствуем вас всех.ImageView CENTER_CROP dont work
У меня есть LinearLayout, который должен показывать ImageView. ImageView должен соответствовать всей ширине LinearLayout, поэтому я использовал match_parent для ширины, и он должен поддерживать соотношение сторон, поэтому я использовал wrap_content для высоты и setAdjustViewBounds для true. Но что-то не работает, потому что ширина ImageView правильная (она соответствует ширине линейного макета), но высота изображенияView неправильная (изображение обрезается в верхней и нижней частях)
Я пробовал со всеми типами шкалы (fit_center, fit_xy, center_crop, center_inside и т. Д.), И у меня проблемы со всеми из них (например, если я использую fit_center, изображение не соответствует полной ширине ImageView , я могу увидеть два черных пространства слева и справа от изображения, также я попытался с помощью FIT_CENTER без setAdjustViewBounds и у меня такая же проблема)
ЗДЕСЬ ВЫ иМЕЕТЕ SNAPSHOT: http://i.stack.imgur.com/8hrKF.png
это мой код:
LinearLayout onlineHolder = this.holders.get(i);
onlineHolder.setLayoutParams(
new LinearLayout.LayoutParams(
LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));
onlineHolder.removeAllViews();
ImageView imgv = new ImageView(onlineHolder.getContext());
imgv.setLayoutParams(
new LinearLayout.LayoutParams(
LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));
imgv.setAdjustViewBounds(true);
imgv.setScaleType(ImageView.ScaleType.CENTER_CROP);
Bitmap b=res.getCachedBitmapWithWidth(this.width); //obtenemos el recurso cacheado con el width correspondiente
imageElement.setBitmap(b);
imgv.setImageBitmap(b);
onlineHolder.addView(imgv);
Благодаря
EDIT: он работает только тогда, когда я указать ширину и высоту ImageView с абсолютными числами. Например, если я ставлю 400 (400 - это 50% экрана, ширина макета) и высота 583, это работает, но если я поместил MATCH_PARENT для ширины и WRAP CONTENT для высоты ... он не работает ... Зачем?
, что происходит, если вы держать onlineHolder PARAMS быть wrap_content и wrap_content при сохранении Params макета imgv быть match_parent и match_parent? другие вещи остаются прежними. – droidx
изображение отображается выравниванием влево и с огромным черным пространством справа – NullPointerException
Я немного скептически отношусь к setImageBitmap! setImageResource работал для меня. Автоматическое масштабирование – droidx