imageview hauteur que le wrap_content de la montre de l'image
Je veux la largeur d'une ImageView, à fixer par le parent et la hauteur doit être d'aspect proportionnel. Les raisons pour cela est que la prochaine est montré un TextView que je veux placer juste sous l'ImageView.
Je peux obtenir de l'image pour l'afficher correctement à l'aide de
android:layout_width="fill_parent"
android:layout_height="fill_parent"
cependant l'ImageView hauteur de devenir le parent de la hauteur qui est beaucoup plus grande que celle de l'montré image redimensionnée. Une idée était de rendre les parents plus petite à la verticale, mais.. là je ne sais pas encore ce modele taille de l'image.
Le suivant ne fonctionne pas à cause d'une petite image n'est pas rempli jusqu'à l'horizontale.
android:layout_width="fill_parent"
android:layout_height="wrap_content"
De déconner avec le
android:layout_height="wrap_content"
pour le RelativeLayout entourant tout cela n'aide pas. Aussi essayé FrameLayout et LinearLayout et a échoué.
Des idées?
- avez-vous essayer quelque chose comme ceci developer.android.com/reference/android/widget/... ?
- Si vous voulez aspect proportionat , vous avez besoin du poids avec Linéaire de la mise en page.
- Oui j'ai essayé tous ceux. Pas de chance, j'en ai peur.
- Je l'ai essayé, mais alors le textview devient étrange tailles.
Vous devez vous connecter pour publier un commentaire.
Vous devez définir adjustViewBounds de vrai.
android:adjustViewBounds="true"
voir la réponse-> stackoverflow.com/a/19673468/1815624 @kit merciIl y a deux cas si votre taille réelle de l'image est égal ou supérieur à votre ImageView la largeur et la hauteur, alors vous pouvez utiliser adjustViewBounds bien et si votre taille réelle de l'image est inférieure à ImageView la largeur et la hauteur que l'utilisation scaleType propriété montré image dans ImageView en fonction de votre exigence.
1.Taille réelle de l'image est égal ou supérieur à ImageView nécessaire de largeur et de hauteur.
2.Taille réelle de l'image est inférieure à ImageView nécessaire de largeur et de hauteur.
Donc, j'ai eu le même problème plus d'une fois et à la recherche par le biais de l'existant stackoverflow réponses ont réalisé que pas de réponse donne une parfaite explication de la vraie confusion quant à une solution à ce problème. Donc, ici, vous allez:
API 17+
imageView.setAdjustViewBounds(true);
OU (en XML)
android:adjustViewBounds="true"
résout le problème, il fonctionne quel que soit la taille réelle de l'image de la ressource, c'est à dire à l'échelle de votre image vers le haut ou vers le bas à la taille désirée, vous avez à votre disposition.
Ci-dessous API 17
Ci-dessous API 17
android:adjustViewBounds="true"
ne fonctionne que pour redimensionner une image, pas de croissance, c'est à dire si la hauteur réelle de la source de l'image est plus petite que les dimensions que vous essayez d'atteindre dans votre mise en page,wrap_content
utilisera que les plus petits de la hauteur et de ne pas l'échelle " up " (agrandir) l'image comme vous le désirez.Et donc pour l'API de 17 ans et moins, vous n'avez pas le choix d'utiliser un ImageView pour atteindre ce comportement. Vous pouvez soit écrire une coutume ImageView vous-même ou utiliser une bibliothèque, qui a déjà fait ce travail.
L'aide d'une bibliothèque
Il y a sans doute plus d'une bibliothèque qui résout ce problème, l'un d'eux est:
compile 'com.inthecheesefactory.thecheeselibrary:adjustable-imageview:1.0.0'
qui s'utilise comme ceci:
À l'aide d'un Affichage personnalisé
subsidiairement, à l'aide d'une bibliothèque existante, vous pourriez écrire un affichage personnalisé vous-même, par exemple:
... qui vous permettrait d'utiliser comme suit (XML):
C'était la seule façon que je pouvais le faire fonctionner, le deuxième ImageView dans le centre et plus petit que le premier ImageView, et le TextView en vertu de la deuxième ImageView.
Malheureusement, il utilise fixe "200dp" taille de l'image sur la deuxième ImageView, donc il n'a pas la même apparence sur différentes tailles d'appareils.
Il détruit également mon ViewFlipper, depuis n'importe quel modèle j'ai essayé autour de la deuxième ImageView et le TextView rend le déplacer ou le redimensionner.