Android: à l'Aide de alignBaseline pour une image texte suivant
Ci-dessous est un TextView suivie par une ImageView contenues dans RelativeLayout. Je vais essayer d'obtenir au fond de l'image afin de l'aligner avec la ligne de base du texte. Lorsque j'utilise alignBaseline pour l'image de référence,le TextView, c'est le haut de l'image qui s'aligne avec la ligne de base du texte au lieu de le bas. Comment puis-je résoudre ce problème?
<TextView
android:id="@+id/month"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:text="feb"
android:textSize="60px"
android:typeface="serif"
/>
<ImageView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:paddingLeft="15px"
android:layout_toRightOf="@id/month"
android:layout_alignBaseline="@id/month"
android:src="@drawable/minicalimage"
android:id="@+id/calimage"
/>
Ce serait formidable si vous pouvez accepter une réponse.
OriginalL'auteur Gaege | 2011-02-24
Vous devez vous connecter pour publier un commentaire.
Depuis API11 vous pouvez simplement utiliser
android:baselineAlignBottom="true"
Avant API11 vous pouvez remplacer
getBaseLine()
et retourner la hauteur de l'image.OriginalL'auteur lujop
Vous devez utiliser les deux lignes suivantes dans votre ImageView à aligner en bas de l'affichage de l'Image en bas de la proximité TextView:
OriginalL'auteur Vitaliy A
J'ai été en mesure d'accomplir ce que je voulais faire. Je n'ai pas utiliser alignBaseline, à seulement résolu le problème avec un rembourrage et de redimensionnement de l'image. Certaines des questions que j'avait surgi d'avoir une image trop grande et il remplit l'espace de la zone euro. Le code que j'ai utilisé pour réaliser ce que je voulais est ci-dessous:
Cela a été le résultat:
J'ai testé sur différents émulateurs et le résultat est le même. Je cherchais à avoir les trois éléments liés les uns aux autres dans cette configuration, quel que soit l'écran et le code ci-dessus semble de le faire. Veuillez expliquer l'avantage de l'utilisation de ppp au lieu de px, si vous voulez.
J'ai demandé parce que j'ai essayé votre code dans les émulateurs avec différentes tailles et résolutions, et, parfois, l'image était un peu en-dessous du texte, ou au-dessus, et à 3,7 en WVGA(Nexux Un) de l'émulateur, mon image est même recadrée en raison de la marge. Cependant, je n'ai pas de meilleure solution... Pour avantage de dpi sur px, veuillez lire la réponse ici stackoverflow.com/questions/4517289/...
Merci pour la réponse, je viens de réalisé que vous aviez posté. Depuis, j'ai obtenu ce peu plus travaillé. La plupart des questions sont à venir à partir de la taille originale de l'image.
Ce n'est pas une solution idéale. Le TextView pouvez les changements de taille ou de positionnement. Par exemple, l'utilisateur sur Android peut modifier le dispositif de la taille de police. L'ajout de la marge ou du rembourrage signifie de l'ImageView ne sera plus aligné lorsque l'écran change. Voir ma solution ci-dessous.
OriginalL'auteur Gaege
Je suis tombé sur un problème similaire, et résolu simplement en évitant
layout_alignBaseline
au total, en s'appuyant surlayout_alignBottom
au lieu de cela, qui est disponible à partir de l'API 1.OriginalL'auteur Giulio Piancastelli
j'ai utilisé un affichage de texte au lieu d'une image vue et utilisé le nouveau texte de la vue drawable pour définir l'image et il a travaillé:
OriginalL'auteur Itay Bianco
OriginalL'auteur Sophia
Vous souhaitez utiliser le android:layout_alignBottom attribut pour aligner l'ImageView avec la ligne de base d'un autre point de Vue.
Dans l'exemple ci-dessous j'ai aligné les ImageView à l'autre TextView. J'ai inclus le code de l'ImageView, et pas le TextView. Afin de s'aligner pour le TextView vous aurez juste besoin d'inclure l'id de la TextView.
Réglage de la marge ou de rembourrage entraînera le point de Vue étant pas alignés si l'utilisateur change la taille du texte sur leur appareil.
OriginalL'auteur Adam Hurwitz