Frage

Gibt es eine Möglichkeit im Code, einen Taste kontinuierlich zu erzeugen und dann beim Drücken nicht mehr zu blinken?

War es hilfreich?

Lösung

Es gibt mehrere, je nachdem, welche Art von Blinken Sie meinen. Sie können beispielsweise Alpha -Animation verwenden und sie starten, wenn Ihre Schaltfläche zuerst angezeigt wird. Und wenn der Benutzer auf Schaltfläche klickt, in Ihrem OnClickListener mach einfach clearAnimation().

Beispiel:

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();
        }
    });
}

Andere Tipps

Sie können diesen Code und so gut wie Sie auch über den Blink -Timing der Schaltfläche entscheiden können Manimation.SetDuration (200);Der Code ist wie folgt.

@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();


        }
    });

}

Sie können auch verwenden Rahmenanimation

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top