Android - Wie kann ich einen Schaltflaschenblitz machen?
-
27-10-2019 - |
Frage
Gibt es eine Möglichkeit im Code, einen Taste kontinuierlich zu erzeugen und dann beim Drücken nicht mehr zu blinken?
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