android – Comment faire clignoter un bouton?

Y a-t-il un moyen, dans le code, de faire clignoter un bouton continuellement et d’arrêter de clignoter lorsque vous appuyez dessus?

Il y en a plusieurs, selon le type de clignotant que vous voulez dire. Vous pouvez, par exemple, utiliser l’animation alpha et la lancer au fur et à mesure que votre bouton apparaît. Et lorsque l’utilisateur clique sur le bouton, dans votre OnClickListener faites simplement clearAnimation() .

Exemple:

 public void onCreate(Bundle savedInstanceState) { final Animation animation = new AlphaAnimation(1, 0); // Change alpha from fully visible to invisible animation.setDuration(500); // duration - half a second animation.setInterpolator(new LinearInterpolator()); // do not alter animation rate animation.setRepeatCount(Animation.INFINITE); // Repeat animation infinitely animation.setRepeatMode(Animation.REVERSE); // Reverse animation at the end so the button will fade back in final Button btn = (Button) findViewById(R.id.your_btn); btn.startAnimation(animation); btn.setOnClickListener(new OnClickListener() { @Override public void onClick(final View view) { view.clearAnimation(); } }); } 

Vous pouvez utiliser ce code et vous pouvez également décider du moment de clignotement du bouton via mAnimation.setDuration (200); .Le code est comme suit.

 @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); select=(Button)findViewById(R.id.bSelect); Animation mAnimation = new AlphaAnimation(1, 0); mAnimation.setDuration(200); mAnimation.setInterpolator(new LinearInterpolator()); mAnimation.setRepeatCount(Animation.INFINITE); mAnimation.setRepeatMode(Animation.REVERSE); select.startAnimation(mAnimation); select.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { v.clearAnimation(); } }); } 

Vous pouvez également utiliser Frame Animation