Mam więc widok obrazu, który powinien wyświetlać dowolny obraz, zdjęcie profilowe pobrane z Internetu. Chcę, aby ImageView skalował swój obraz w celu dopasowania do wysokości kontenera nadrzędnego i ustawioną maksymalną szerokość 60dip. Jeśli jednak obraz ma wysoki współczynnik proporcji i nie potrzebuje pełnego 60dip szerokości, szerokość ImageView powinna się zmniejszyć, aby tło widoku było dobrze dopasowane do obrazu.
Próbowałem tego,
<ImageView android:id="@+id/menu_profile_picture"
android:layout_width="wrap_content"
android:maxWidth="60dip"
android:layout_height="fill_parent"
android:layout_marginLeft="2dip"
android:padding="4dip"
android:scaleType="centerInside"
android:background="@drawable/menubar_button"
android:layout_centerVertical="true"/>
ale to sprawiło, że ImageView z jakiegoś powodu był bardzo duży, być może używał wewnętrznej szerokości obrazu i wrap_content, aby go ustawić - w każdym razie nie uwzględniał mojego atrybutu maxWidth. Czy to działa tylko w niektórych typach kontenerów? Jest w układzie liniowym ...
Jakieś sugestie?
Ustawienie
adjustViewBounds
nie pomaga, jeśli używaszmatch_parent
, ale obejście jest proste, niestandardoweImageView
:źródło