Mise à l'échelle d'une image en fonction de la largeur maximale disponible, en conservant le rapport d'aspect et en évitant l'espace supplémentaire d'ImageView
J'ai cette simple mise en page XML, et un green_square.fichier png qui est 30X30 pixels
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<ImageView
android:background="@color/red"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:adjustViewBounds="true"
android:scaleType="fitStart"
android:src="@drawable/green_square"/>
</LinearLayout>
Ce que je suis en train de réaliser est de redimensionnement de l'image pour remplir le parent de la largeur, de garder le ratio d'aspect avec aucun espace supplémentaire de l'ImageView.
J'ai ajouté un fond rouge à l'ImageView juste pour la référence de l'espace supplémentaire que je veux éviter.
source d'informationauteur Shlomi Schwartz
Vous devez vous connecter pour publier un commentaire.
cela fonctionne pour moi. Toute la largeur de la mère et du centre de culture pour maintenir le ratio d'aspect
De mon point de vue, ce
ImageView
supplémentaires de mise en page est un bug. J'ai eu la même chose se produire. Par conséquent, le texte que j'ai voulu suivre legreen_square
suivi supplémentaires de mise en page. Donc ce que j'ai fait a été de spécifier le texte par rapport au bas de l'écran. De cette façon, le texte devrait aller sur la supplémentaires de mise en page. Je l'avoue, ce n'était pas la meilleure solution, mais il est beaucoup mieux que d'avoir un espace énorme entre lesgreen_square
et le texte.C'est tellement simple. Juste faire de la largeur fill_parent et la hauteur wrap_content. Voici la j'ai tout compris.
L'utilisation de l'échelle de type "fitCenter" ou "fitxy"
Essayer cela,