Mam prosty liniowy układ używany dla komórki ListView i ma obraz. Obraz zostanie pobrany z internetu, więc rozmiar może być różnej wielkości.Jak dynamicznie zmieniać wysokość ImageView Wysokość
Jednak chcę ustawić szerokość widoku obrazu na fill_parent, który jest stały i dynamicznie zmieniać wysokość obrazu w czasie wykonywania. Reguły ustawiania wysokości obrazu: , jeśli stosunek h/w obrazu jest większy niż 1, spraw, aby kwadrat ImageView był zgodny z wysokością do szerokości.
Jeśli stosunek obrazu do rozmiaru jest mniejszy niż 1, należy go proporcjonalnie powiększyć. Oczekiwane dwie próbki, jak poniżej.
Pierwszy to h/w < 1, a drugi "Kot" to h/w> 1.
Dziękujemy za poświęcony czas.
<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>
Czy to działa? –
nie, nie działa. Mimo to dziękuję –
co się dzieje, ponieważ te ustawienia skalują obraz w taki sposób, że szerokość jest statyczna, a wysokość jest przyciągana odpowiednio do współczynnika kształtu obrazu. –