Question

Salut à tous:    J'écris une classe héritant de TextView, et remplacer la méthode de onDraw(), mais dans la méthode, mon Invoke de canvas.drawText() ne semble pas fonctionner, le code comme ci-dessous:

protected void onDraw(Canvas canvas) {
    // super.onDraw(canvas);
    Paint paint = new Paint();
    paint.setColor(android.graphics.Color.WHITE);
    paint.setTextSize(20);

    String text = "hello";
    canvas.drawText(text, 0, 0, paint);
}
Était-ce utile?

La solution

Il ne met rien à dessin parce que les coordonnées de texte sont en bas à gauche. Puisque vous essayez de tirer sur 0,0, il dessinera au-dessus de l'écran.

Essayez de changer la dernière ligne à:

canvas.drawText(text, 0, 20, paint);

Autres conseils

D'excellentes suggestions tout autour, grands gars de travail vraiment. La prochaine fois que ce serait bien si vous demandez au gars dans un commentaire ou quelque chose si oui ou non il a essayé le tout à fait évident avant de poster comme une réponse. Pensez-vous vraiment que le second il est arrivé à un point qui n'a pas été, il travaille vient directement à débordement de la pile sans expérimenter?

J'ai une autre suggestion, qui assez crazily repose sur toute la question et non pas seulement la partie qui pourrait y répondre sans beaucoup de connaissances réelles.

Je recommande d'essayer votre appel drawText sur une toile qui est pas dans une sous-classe TextView comme cette façon, il ne sera pas remplacée par plusieurs centaines de lignes de code dans TextView qui gèrent son état drawable.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top