mam ten kod:Android skalowanie ImageView z setImageBitmap
<ImageView
android:id="@+id/listitem_logo"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
i
imageview_logo.setImageBitmap(bit); // comes from assets
imageview_logo.setAdjustViewBounds(true);
imageview_logo.setScaleType(ImageView.ScaleType.FIT_CENTER);
imageview_logo.setBackgroundColor(0x00000000);
imageview_logo.setPadding(0, 0, 0, 0);
imageview_logo.setVisibility(v.VISIBLE);
Po załadowaniu obrazu w ten sposób, bez skalowania wydaje się, że zostały wykonane. Jednak jeśli załaduję obraz przez setImageDrawable() r.res. Rozmiar obrazu wewnątrz ImageView
został zmieniony. Jednak muszę użyć setImageBitmap(), ponieważ ładuję moje obrazy poprzez folder zasobów.
Czy brakuje mi tu jakiegoś ustawienia? To spowoduje, że Android zmieni rozmiar i skaluje mapę bitową, więc używa pełnej szerokości ImageView? Sądzę, że mogę to zrobić samemu w kodzie, ale od razu sądzę, że to, co chcę zrobić, będzie obsługiwane tylko przez ustawienie pewnych właściwości.
Spróbuj użyć 'setImageDrawable() ' –
setImageDrawable nie przyjmuje bitmapy. – Tom
użyj CENTER_CROP jako scaletype AND WRAP_CONTENT dla szerokości – Blackbelt