2017-06-14 5 views
0

J'ai une vue personnalisée qui est censée dessiner un texte aligné au bas. La taille du texte doit être de 50% de la hauteur de la vue.Toile Android drawText - comment aligner le texte en bas?

Comment est-ce que je devrais changer ce code pour fonctionner correctement?

@Override 
protected void onDraw(Canvas canvas) 
{ 
    float h = getMeasuredHeight(); 
    float textHeight = h*0.5f; 
    paint.setTextSize(textHeight); 
    String str = "Abcdefghijklm"; 

    paint.getTextBounds(str, 0, str.length(), bounds); 
    float height = bounds.height(); 
    float yPos = height; 
    canvas.drawText(str, 0, yPos, paint); 
} 

Répondre

0

Remplacez votre yPos à:

float yPos = getHeight() - bounds.getHeight(); 
+0

Cela ne permet pas de répondre à la question. Pour critiquer ou demander des éclaircissements à un auteur, laissez un commentaire sous son article. - [À revoir] (/ review/low-quality-posts/16568536) – basvk

+0

Ceci est la réponse bro, notez que j'ai fourni un code de travail à remplacer dans son propre code –