Размер изображения Android не масштабируется с изображением - PullRequest
7 голосов
/ 11 июня 2011

У меня есть следующий макет Android:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/mainTopLevel"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
>
    <ImageView
        android:id="@+id/orbitImage"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:scaleType="fitStart"
        android:src="@drawable/earthorbit"
        android:padding="0dp"
        android:background="@android:color/white"
    />
    <TextView
        android:id="@+id/positionDesc"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:minHeight="40dp"
        android:layout_below="@id/orbitImage"
        android:text="should appear below image"
   />
</RelativeLayout>

Изображение немного уменьшается, но, поскольку соотношение сторон сохраняется, оно занимает только верхнюю половину экрана.

Проблема в том, что само изображение имеет исходную высоту, которая занимает весь экран, и текст никогда не появляется.

(Таким образом, исходное изображение имеет размер около 620 х 430, масштабированное изображение составляет около 250 х 200, но вид изображения составляет около 250 х 430)

Есть ли способ получить размеризображения, чтобы точно соответствовать масштабированному размеру изображения?

Ответы [ 2 ]

11 голосов
/ 21 июля 2011

Похоже на эту проблему: Размер Android ImageView не масштабируется с исходным изображением , к которому к решению нужно было добавить android:adjustViewBounds="true" к ImageView

0 голосов
/ 11 июня 2011

Поскольку размеры фиксируются файлом изображения в ресурсах, нет никаких причин, по которым вы не сможете зафиксировать высоту в вашем ImageView: android:layout_height="200dp"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...