Фактическая высота представления не соответствует нужному содержанию - PullRequest
1 голос
/ 01 июня 2011

У меня есть ImageView, оно показывает изображение с ресурса.Виджет ImageView является фиксированным (60dp).Высота установлена ​​как wrap_content.Размер изображения изменяется в соответствии с этой шириной (сохранение соотношения сторон - это идеально)

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

Вот макет

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <ImageView  
        android:layout_width="60dp" 
        android:layout_height="wrap_content" 
        android:src="@drawable/sample"
        android:background="#F0F0"/>
</LinearLayout>

enter image description here

Ответы [ 3 ]

1 голос
/ 01 июня 2011

попробуйте андроид: AdjustViewBounds = "true"

1 голос
/ 01 июня 2011

Решение довольно простое, я просто добавил атрибут android:adjustViewBounds="true" для тега ImageView .

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

Есть два решения

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <ImageView  
        android:layout_width="60dip" 
        android:layout_height="wrap_content" 

        android:background="@drawable/thumb"
        android:adjustViewBounds="true"/>
</LinearLayout>
...