So implementieren Sie eine Schaltfläche mit Tap -and -Heeping für Inkrement-/Dekrementierungsaktionen (+1 beim HAP, +10

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: So implementieren Sie eine Schaltfläche mit Tap -and -Heeping für Inkrement-/Dekrementierungsaktionen (+1 beim HAP, +10

by Anonymous » 15 Feb 2025, 11:48

Ich bin schon eine Weile daran festgefahren. Ich habe zwei "Schaltflächen", die zwei Aktionen ausführen: Es fügt/entfernt +-1 auf einem einzelnen Klick und fügt auf einem langen Klick +-10 hinzu. Ich möchte es so ändern, dass es so funktioniert: < /p>
Wenn der Benutzer die Schaltfläche aufnimmt (klickt), fügt sie +-1 hinzu. hält, es sollte alle 0,5 Sekunden add /entfernen /entfernen, bis der Benutzer die Taste veröffentlicht. < /p>
Wie kann ich dies am besten lösen? p>
Hier ist mein aktueller Code: < /p>

Code: Select all

Box(
modifier = Modifier
.fillMaxSize()
.background(Color.Transparent)
.weight(2f)
.combinedClickable(
onClick = {
when (selectedCounter) {
"Life" -> if (life > 0) life -= 1
"Poison" -> if (poison > 0) poison -= 1
}
consecutiveTapsRemove = maxOf(0, consecutiveTapsRemove + 1)
},
onLongClick = {
when (selectedCounter) {
"Life" -> if (life > 0) life -= 10
"Poison" -> if (poison > 0) poison -= 10
}
consecutiveTapsRemove = maxOf(0, consecutiveTapsRemove + 10)
}
),
) {}

Box(
modifier = Modifier
.fillMaxSize()
.background(Color.Transparent)
.weight(2f)
.combinedClickable(
onClick = {
when (selectedCounter) {
"Life" -> life += 1
"Poison" -> poison += 1
}
consecutiveTapsAdd = maxOf(0, consecutiveTapsAdd + 1)
},
onLongClick = {
when (selectedCounter) {
"Life" -> life += 10
"Poison" -> poison += 10
}
consecutiveTapsAdd = maxOf(0, consecutiveTapsAdd + 10)
}
)
) {}


Top