Umschalttaste - Wischfunktion deaktivieren

10

Ich habe eine switch -Schaltfläche (tatsächlich ist eine benutzerdefinierte) und ich möchte die Swipe-Funktion aus irgendeinem Grund deaktivieren; Ich möchte, dass der Benutzer nur darauf klicken kann. Gibt es einen Weg, dies zu erreichen? Danke.

    
Paul 10.12.2012, 16:39
quelle

6 Antworten

24

Sie können für Ihren SwitchKlickable (false) festlegen und dann auf das Ereignis onClick () innerhalb des übergeordneten Elements des Switches warten und es programmgesteuert umschalten. Der Schalter scheint weiterhin aktiviert zu sein, aber die Wischanimation wird nicht ausgeführt.

...

[In onCreate ()]

%Vor%

...

[Klick auf Listener]

%Vor%

...

[layout.xml]

%Vor%     
Aaron 19.06.2013, 19:04
quelle
14

Ein besserer Weg besteht darin, zu verhindern, dass die Switch-Klasse MotionEvent.ACTION_MOVE -Ereignisse empfängt.

Dies ist möglich mit:

%Vor%

Dann können Sie einen Klick-Listener entsprechend einstellen.

Sehen Sie sich die Implementierung von Switch , um zu sehen, wie das Ziehen funktioniert. Es ist ziemlich cool!

    
advait 14.01.2014 23:12
quelle
7

Um einen Switch zu deaktivieren, verwenden Sie die folgende Methode

%Vor%

Um den Schalter nicht anklickbar zu machen, verwenden Sie

%Vor%

Dabei ist switchBtn Switch-Objekt

    
Sunil Kumar Sahoo 10.01.2014 11:45
quelle
2

Sie können eine Ansicht benutzerdefinieren, die den Schalter erweitert, und dann sein onTouchEvent ()

überschreiben %Vor%

Es sollte funktionieren.

    
Haman Fang 20.01.2016 07:23
quelle
1

Meine Lösung ist:

%Vor%

Oder ButterKnife:

%Vor%     
Sinigami 12.10.2015 11:23
quelle
0

// Dieser Code funktioniert einwandfrei

Öffentliche Klasse MainActivity erweitert AppCompatActivity implementiert CompoundButton.OnCheckedChangeListener {     Wechseln Sie my_switch;

%Vor%

}

    
Andrii Andriichuk 25.03.2017 18:19
quelle

Tags und Links