2017-07-14 5 views
2

Ich brauche Ripple auf meiner Schaltfläche einfach in der onCreate() meiner Aktivität. Von all dem Code, den ich gescannt habe, ist der Welleneffekt nur sichtbar, wenn die Taste gedrückt wird. Bitte führen Sie mich an, wie man Ripple standardmäßig ohne den Knopfklick zeigt.So erreichen Sie Ripple-Animation auf Schaltfläche ohne klicken

+0

Nehmen Sie eine Referenz dieses Link ---> http://www.tothenew.com/blog/ripple-effect-in-android/ und Änderungen vornehmen: Fügen Sie nach dem Initialisieren von RippleDrawable und Button in der OnCreate-Methode die folgenden zwei Zeilen outside onTouch Event hinzu. rippleDrawable.setHotspot (event.getX(), event.getY()); rippleDrawable.setColor (ColorStateList.valueOf (getResources(). GetColor (R.color.red))); – yash786

+0

setHotspot() erfordert event.getX() & event.getY(). Wie ruft man 'Ereignis' in onCreate() auf? –

Antwort

2

Sie müssen immer noch klicken, aber programmgesteuert. Verwenden Sie yourButton.performClick() in Ihrem onCreate Methode und stellen Sie sicher, wenn Sie diesen Code nicht tun ausführen, die für Ihre Schaltfläche klicken Ereignis behandeln, auf dafür ist, dass Sie eine boolean Variable können Sie überprüfen, ob Sie es tun programmatisch oder reale Aktion ausführen

yourbutton clicklistener { 
if(isprogrammatic){ 
// dont do anything 
isprogrammatic = false 
} 
else{ 
// run your code 
} 
} 

OnCreate

onCreate(Bundle..){ // your on create method 

    //yes it is programmatic 
    isprogrammatic = true; 
    yourbutton.performClick(); 

    } 
Verwandte Themen