Android de Toile Claire avec de la transparence
Je suis en train de les "effacer" à partir d'un canevas. Juste un simple test de la compensation d'une toile, j'ai mis en œuvre les éléments suivants:
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.drawColor(Color.argb(140, 0, 0, 0));
canvas.drawColor(0, Mode.CLEAR);
}
Color.argb(140, 0, 0, 0)
définit l'affichage de ce point de vue est dessiné pour être grisé. drawColor(0, Mode.CLEAR)
rend l'écran complètement noir, plutôt que de retirer le variateur de lumière appliqué plus tôt. L'idée a été prise à partir d'ici
Je suis assez sûr que
Eh bien, ce que j'essayais d'accomplir était de définir un affichage personnalisé à la superposition d'une activité, que la coutume de vue de remplir l'écran avec un faible alpha black de fournir un modèle de variateur, et puis je voudrais un cercle de quelque part sur l'écran qui n'ont PAS la gradation modèle
canvas.drawColor(0, Mode.CLEAR);
de rendre l'écran complètement noir est le but de la fonctionnalité, de sorte qu'il n'est pas vraiment clair ce que vous demandez/tente de faire - parce que vous êtes accomplir. Si ce que vous essayez de faire, c'est juste temporairement dim vue/l'ombre d'une image bitmap, puis supprimer l'effet d'assombrissement, ce n'est pas vraiment une "compensation" de la toile.Eh bien, ce que j'essayais d'accomplir était de définir un affichage personnalisé à la superposition d'une activité, que la coutume de vue de remplir l'écran avec un faible alpha black de fournir un modèle de variateur, et puis je voudrais un cercle de quelque part sur l'écran qui n'ont PAS la gradation modèle
OriginalL'auteur rperryng | 2014-02-18
Vous devez vous connecter pour publier un commentaire.
Utilisation suivantes.
Cette ligne unique solution est beaucoup mieux que ce double Toile/Bitmap non-sens est en cours dans la accepté de répondre.
Comme Michael Herbig dit que cela devrait être la réponse. À l'aide d'une image Bitmap à utiliser deux fois plus de mémoire et de provoquer un autre niveau de mise en mémoire tampon!
Comme indiqué dans mon premier commentaire, j'ai déjà eu cette ligne dans mon code d'origine (voir OP), mais il n'a pas de travail pour moi à l'époque, 3 ans plus tard, il semble que cela a aidé plus de personnes que la mienne propre, donc je vais marquer ce que la bonne réponse
Ce faisant, ma Toile devient totalement noir
OriginalL'auteur Y0Gi
La solution a été de créer un secondaire toile et bitmap. Ma Vue Personnalisée du onSizeChanged() la méthode ressemblait
et la onDrawMethod ressemble
où transparentPaint est déclarée dans le onstructor comme
OriginalL'auteur rperryng