Я экспериментирую с размещением ImageButton
и TextView рядом друг с другом в LinearLayout , с достаточно большой кнопкой вертикально, чтобы поместиться в макет - надеюсь, это должно соответствовать ширине.Остальная часть макета должна быть занята текстовым представлением.
На данный момент у меня есть следующий макет в моем XML-файле:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight=".08"
android:background="#004D79"
android:orientation="horizontal">
<ImageButton
android:id="@+id/helpButton"
android:layout_height="match_parent"
android:layout_width="wrap_content"
android:cropToPadding="false"
android:layout_margin="3dp"
android:adjustViewBounds="true"
android:background="@drawable/help" />
<TextView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="#000000"
android:text="Some placeholder text"
android:textColor="#ffffff"
/>
</LinearLayout>
Этот макет занимает 8%вертикального пространства.Изображение для кнопки 500х500.Однако я столкнулся с некоторыми проблемами!Когда я запускаю макет выше «как есть», кнопка image * - это правильная высота, но она занимает всю ширину макета;текстовое представление отсутствует вообще - похоже, android:adjustViewBounds="true"
не работает.Однако, если я заменю android:background="@drawable/help"
на android:src="@drawable/help"
, я получу небольшую квадратную область с левой стороны макета, но на ней нет изображения.Текстовое представление находится справа от «кнопки», но не охватывает остальную часть макета;он обернут, так что он достаточно большой, чтобы охватить текст заполнителя.
Будет ли мне необходимо программно изменить размер кнопки и представления текста в моем приложении, например, OnMapReady (...) ?
Редактировать: я только что проверил, что файл изображения находится в res / drawable / help.png - но почему он должен отображаться с фоном (неправильный размер), а не с src (правильного размера) для меня загадка.