У меня есть изображение, которое я создал в большем размере, чем то, как оно будет отображаться наиболее вероятно. Предположим, что это 200x200. Я тестирую устройство на 800x480 в ландшафтном режиме. Моя цель состоит в том, чтобы изменить размер этого изображения до 1/4 высоты текущего вида, док в верхнем правом углу и сохранить соотношение сторон. Это будет означать, что при просмотре на 800x480 мое изображение будет в верхнем правом углу, отображаемом на 120х120.Расположение Android, изменение размера по процентам и поддержание пропорции
Я думал, что для этого нужно использовать вертикальный LinearLayout с weightSum и layout_weights среди элементов (используя пустые элементы с layout_weight для заполнения в случае необходимости) и adjustViewBounds = true в ImageView, но я не могу чтобы получить эффект, который я собираюсь сделать. Есть идеи?
это действительно близко, и дает тот же результат, что и куча моих предыдущих пробных ошибок, но единственное, что я до сих пор получаю, это то, что ImageView сообщает о родительском макете, который ему нужен. пространство, равное исходным размерам. Итак, мое изображение изменено, но оно помещено неправильно. Решение состояло в том, чтобы установить scaleType для fitEnd, но контейнер макета по-прежнему является неправильной шириной. Сейчас это не имеет никакого значения, поэтому я могу быть хорошим. Благодарю. – Rich
Хм, хорошо, я вижу, как это произойдет. Я на самом деле думаю, что фактическое java-кодированное решение может в конечном итоге работать лучше всего на то, что вы пытаетесь сделать. Однако, если контейнер с неправильной шириной не является проблемой, попробуйте добавить еще один атрибут в свой ImageView: 'android: gravity =" top | right "'. – kcoppock
Кроме того, быстрая мысль (и я мог бы быть ужасно от основания), имеет ли атрибут порядок при раздувании XML-документа? Интересно, возможно ли разместить атрибут scaleType до того, как атрибуты layout_width и layout_height могут повлиять на измерения? – kcoppock