Comment agrandir la vue de douceur dans Android?
J'ai rencontré un problème lorsque j'ai développé un 320*50 afficher en plein écran.
Si je développez directement, il fonctionne, mais l'action est très rapide et je pense n'est pas une bonne expérience de l'utilisateur. J'ai donc masquer la vue d'abord, puis de la développer, et après deux secondes, montrer le point de vue nouveau.
TextView.setVisibility(VIEW.INVISIBLE);
ViewGroup.LayoutParams lp = TextView.getLayoutParams();
lp.width = ViewGroup.LayoutParams.FILL_PARENT;
lp.height = ViewGroup.LayoutParams.FILL_PARENT;
//after two seconds
handler.postDelay(new Show(),2000);
class Show implements Runnable{
@Override
public void run(){
TextView.setVisibility(VIEW.VISIBLE);
}
}
Donc l gauche deux secondes pour que la demande pour étendre la vue. Puis au bout de deux secondes, l'affichage montrera de nouveau. Je suis attendu que du développement de la vue plein écran quand il montre. Mais en réalité, il ne l'est pas. La vue ne l'étendre l'action après il affiche pendant deux secondes, il se cache.
Je ne pense pas qu'il y est un meilleur moyen que d'utiliser une Animation. Ils ne sont pas complexes à mettre en œuvre.
post le 2 seconde d'attente de la partie, je soupçonne que vous ne relâchez pas la main sur le thread principal
utilisez simplement gestionnaire.postDelay(praticable,temps). J'ai mis à jour le code.
OriginalL'auteur wayne_bai | 2012-11-06
Vous devez vous connecter pour publier un commentaire.
Je sais que c'est vraiment la fin pour répondre à cela, mais je vais juste dire le chemin que j'ai choisi pour animer des modifications de mise en page pour quelqu'un dans le besoin.
Android a une Animation spéciale classe nommée
ScaleAnimation
où l'on peut en douceur développer ou réduire les points de vue.Afficher la vue par l'expansion de la diagonale:
où le constructeur est utilisé:
De sorte que vous pouvez changer les valeurs en conséquence.
Par exemple, l'exemple ci-dessous devra animer vue horizontalement:
Vous pouvez modifier
fromX
,toX
,fromY
&toY
selon le besoin.Par exemple, si la vue est affichée et vous avez juste à le développer, mettre
fromX
etfromY
à1.0f
, ettoX
,toY
selon le besoin.Maintenant, à l'aide de la même classe, vous pouvez créer une plus cool effet pour montrer la vue par l'expansion de vue un peu plus et puis d'en réduire la taille à la taille originale. À cette fin,
AnimationSet
sera utilisé. Donc, il serait de créer une sorte de bulle d'effet.Exemple ci-dessous est pour la création d'effet des bulles pour l'affichage de la vue:
OriginalL'auteur Swr7der