2010-08-27 6 views
0

Я хотел был бы иметь возможность изменить размер некоторых из моих ImageViews на основании того, что Drawable они показывают. Я еще не решил, получу ли я их для чтения новых измерений из Drawable или если у меня будет только массив/enum, который сохранит их высоту, но мне нужна помощь, это фактическое изменение ImageView размер.Нужно изменить размер изображения Android ImageView для соответствия изменяемому размеру Drawable

Какое из множества функций для изменения размеров вещей я должен использовать, чтобы изменить размер ImageView, сохраняя при этом относительное позиционирование в RelativeLayout, частью которого является? Я не могу сработать, если мне нужно изменить границы Drawable или если я должен переопределять LayoutParams ImageView или какой-либо другой метод в целом. Выбираемые объекты всегда будут иметь одинаковую ширину, но их высота будет меняться в зависимости от того, что находится на каждой плите карты (что это рендеринг).

ответ

1

Может быть, я что-то здесь отсутствует, но вы, вероятно, следует использовать только:

<ImageView 
    android:id="@+id/image_view" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:src="@drawable/image_content" 
    /> 

Использование wrap_content заставит ImageView предположить форму любой вытяжке вставки.

+0

Это на самом деле я начал и имел реальные проблемы с вещами, масштабирующимися до неправильного относительного размера, и, следовательно, дополнительной сложностью. Однако после того, как вы сказали это, я понял, что должен пересмотреть его и просто добавить maxwidth = заставил его вести себя так, как я хотел. Теперь они сохраняют относительную ширину, которую я хочу, но масштабируюсь, чтобы она была пригодной для рисования в другом измерении. – Zulaxia

+0

Рад, что у вас это работает! Подумав об этом, я еще ничего не сделал, чтобы изменить код в коде, поэтому я не знаю, как именно он справляется с перемасштабированием. – kcoppock