Я пытаюсь поместить в один ряд EditText
с ImageView
слева. Но я не могу заставить изображение масштабироваться должным образом, чтобы соответствовать высоте ввода текста.
Схема проста:
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/icon"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:adjustViewBounds="true"
android:scaleType="fitStart"
android:background="#f00"
android:src="@drawable/icon" />
<EditText
android:id="@+id/text"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</LinearLayout>
(я выделил фон изображения красным цветом, чтобы увидеть фактическое пространство, выделенное ImageView)
Если я укажу точную высоту для ImageView
:
android:layout_height="48dp"
тогда я получаю самое близкое представление о том, что мне было нужно:
![enter image description here](https://i.stack.imgur.com/uf1ug.png)
Но я не знаю точную высоту EditText
, поэтому я не могу указать ее для ImageView
здесь.
Когда указана высота для ImageView
для заполнения его родителя (для соответствия высоте `` EditText`):
android:layout_height="fill_parent"
тогда я получаю неожиданное дополнительное поле между изображением и вводом текста:
![enter image description here](https://i.stack.imgur.com/bBSw9.png)
На самом деле, в этом случае ширина ImageView
равна ширине немасштабированного изображения, тогда как изображение было масштабировано.
Это похоже на изображение, показанное ниже, если указать layout_height
на 48dp
и установить adjustViewBounds
на false
:
android:layout_height="48dp"
android:adjustViewBounds="false"
![enter image description here](https://i.stack.imgur.com/Ple2v.png)
Итак, здесь возникает вопрос: как правильно определить макет для масштабирования изображения в соответствии с высотой редактируемой записи и в то же время иметь ширину ImageView
для сокращения до масштабированной ширины изображения? Другими словами, как избавиться от этого лишнего пространства?