Ho un semplice layout lineare utilizzato per la cella di ListView e ha una visualizzazione di immagini. L'immagine verrà scaricata da internet, quindi le dimensioni possono essere di dimensioni diverse.Come modificare dinamicamente Altezza ImageView
Tuttavia, voglio impostare la larghezza della vista di immagini per essere fill_parent, che è fissa, e modificare dinamicamente l'altezza dell'immagine in fase di esecuzione. Regole per impostare l'altezza dell'immagine: se il rapporto h/w dell'immagine è superiore a 1, rendere quadrato ImageView, significa abbinare l'altezza alla larghezza.
se il rapporto h/w dell'immagine è inferiore a 1, ridimensionarlo in modo proporzionale. Previsti due campioni come sotto.
Il primo è h/w < 1, mentre il secondo 'Cat' è h/w> 1.
Grazie per il vostro tempo.
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@color/white"
android:orientation="vertical"
android:padding="10dp" >
<TextView
android:id="@+id/postTitle"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="2"
android:textColor="@color/black"
android:textSize="18sp"
android:textStyle="bold" />
<ImageView
android:id="@+id/postImg"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:scaleType="centerCrop"
android:src="@drawable/dummy_image"
android:contentDescription="@string/postImage" />
</LinearLayout>
Ha funzionato per voi? –
no, non funziona. Grazie comunque –
cosa succede, perché quelle impostazioni scaleranno l'immagine in modo tale che la larghezza sia statica e l'altezza sia tirata rispettando le proporzioni dell'immagine. –