7
votes

Render texte croustillant à l'aide de Canvas.Drawtext dans Android

Je fais un appwidget et dans ses paramètres, je laisse l'utilisateur activer / désactiver le texte Shadow. Puisque je ne peux pas appeler la méthode d'ombre via la classe RemoteViews, je fais une méthode "Draw" qui peint de manière dynamique le widget et son conteneur.

Lorsque vous dessinez le texte, il obtient un peu floue lors de l'utilisation d'un TextView. Le seul code que j'ai utilisé pour la peinture de texte est: xxx

y a-t-il d'autre magie que je dois faire pour qu'il devienne plus croustillant?


0 commentaires

3 Réponses :


2
votes

Ce sont mes paramètres de peinture de texte: xxx

semble fonctionner bien pour moi.


2 commentaires

Peinture peinture = nouvelle peinture (peinture.linear_text_flag | peinture.anti_alias_flag); a fait le tour pour moi


Merci pour le conseil. Je vais essayer et voir si mon texte ressemble mieux maintenant. :)



17
votes
Paint paint = new Paint(Paint.LINEAR_TEXT_FLAG | Paint.ANTI_ALIAS_FLAG);
did the trick for me

0 commentaires

0
votes

le texte code> setantialias (true) code> (en mode matériel) strong> fonctionne uniquement d'API 18 et ci-dessus, utilisez ce code pour définir votre calque Tapez.

int currentapiVersion = android.os.Build.VERSION.SDK_INT;
    if (currentapiVersion >= android.os.Build.VERSION_CODES.HONEYCOMB && currentapiVersion < android.os.Build.VERSION_CODES.JELLY_BEAN_MR2) {
        this.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
    }


3 commentaires

Faux. développeur.android.com/reference/android/graphics/... Cela a été dans le SDK depuis le niveau d'API 1


@Tomas s'il vous plaît vérifier ma réponse modifiée. Comme dans API 18, ils ont arrêté la fonctionnalité antialias dans la couche logicielle.


Ah oui. Pour une référence future: développeur.android.com/Guide/topics/ Graphiques / ...