12
votes

Modification de TextView Opacité dans Android

Donc, j'essaie de changer de manière dynamique l'opacité d'un textview dans mon application Android. J'ai un wekbar et car je fais glisser le pouce vers la droite, le textview J'ai couché sous elle devrait commencer à devenir transparent. Lorsque le pouce atteint environ la moitié de la barre de recherche , le texte doit être complètement transparent. J'essaie d'utiliser la méthode setalpha (float) héritée de la vue de mon textview , mais Eclipse me dit setalpha () est indéfini. Pour le type textview . Est-ce que j'appelle la méthode dans le mauvais sens? Ou existe-t-il une autre façon de changer l'opacité?

Voici mon code ( classitext est le textview , jeuxLector est la barre de recherche ): xxx


0 commentaires

6 Réponses :


6
votes

Modifier la méthode pour suivre

public void onProgressChanged(SeekBar seekBar, int progress, boolean fromTouch)
{
    classicText.setAlpha((float)(gameSelector.getProgress())/(float)(seekBar.getMax()));
}


5 commentaires

Cela ne fonctionne pas afaik. Je l'ai essayé..textview n'a pas la méthode nommée SETALPHA (). Vérifiez-le avant de répondre!


Méthode de contrôle développeur.android.com/reference/android/view / ...


C'est une référence correcte, mais vous ne seriez pas en mesure d'utiliser une telle méthode pour TextView ou View dans votre Eclipse directement.Veuillez consulter vous-même.Instead, vous devez personnaliser TextView, puis pour utiliser cette classe dans votre application.


Je le ferai, quand j'aurai un peu de temps, mais si tel est le cas, cela peut être dû à TextView dispose d'une propriété supplémentaire, des modifications de TextView lui-même peuvent donc ne pas avoir effet, dans ce cas, nous devons définir la couleur du texte, en obtenant Composant RVB et Alpha et définir un nouvel alpha dans la méthode StactextStextColor.


Oui c'est vrai! Mais après tout, nous devons utiliser une classe personnalisée pour la même chose pour faciliter le code et l'approche!



0
votes

vue.setalpha (float xxx); strong>

gamme de xxx - 0 - 255, 0 étant transparent et 255 étant opaque. P>

int progress = gameSelector.getProgress();
int maxProgress = gameSelector.getMax();
float opacity = (progress / maxProgress)*255;
classicText.setAlpha(opacity);


0 commentaires

42
votes

Vous pouvez définir l'alpha comme celui-ci xxx

comme l'alpha que vous recevez de la barre de recherche qui sera définie dans la couleur du texte


0 commentaires

11
votes

Ceci a fonctionné pour moi:

1. strong> Créer une classe alphaTextView.class strand>: p> xxx pré>

2. Fort> Ajoutez ceci au lieu d'utiliser TextView pour créer un TextView dans votre XML: P>

at=(AlphaTextView)findViewById(R.id.at);

at.onSetAlpha(255); // To make textview 100% opaque
at.onSetAlpha(0); //To make textview completely transperent


1 commentaires

J'ai utilisé une variante de cela pour changer le texte alpha sans changer également l'arrière-plan alpha, merci!



3
votes

Il peut être tard, mais si quelqu'un cherche cela maintenant, tout ce que vous avez à faire est de:

textView.setAlpha();


0 commentaires

3
votes

Maintenant, il y a un attribut sur XML comme

Android: alpha = "0,5"

Pour changer l'opacité via la mise en page


0 commentaires