Nikolay Igotti
4 years ago
1 changed files with 49 additions and 0 deletions
@ -0,0 +1,49 @@
|
||||
# Getting Started with Compose for Desktop |
||||
|
||||
## What is covered |
||||
|
||||
In this tutorial we will see how to install mouse even listeners on components |
||||
in Compose for Desktop. |
||||
|
||||
## Mouse event listeners |
||||
|
||||
Let's create a text, and install pointer move filter on it: |
||||
```kotlin |
||||
import androidx.compose.desktop.Window |
||||
import androidx.compose.foundation.Text |
||||
import androidx.compose.foundation.layout.* |
||||
import androidx.compose.runtime.mutableStateOf |
||||
import androidx.compose.runtime.remember |
||||
import androidx.compose.ui.Alignment |
||||
import androidx.compose.ui.Modifier |
||||
import androidx.compose.ui.input.pointer.pointerMoveFilter |
||||
import androidx.compose.ui.unit.IntSize |
||||
import androidx.compose.ui.unit.sp |
||||
|
||||
|
||||
fun main() = Window(title = "Compose for Desktop", size = IntSize(400, 400)) { |
||||
var overText = remember { mutableStateOf("Move mouse over text:") } |
||||
Text( |
||||
text = overText.value, |
||||
fontSize = 40.sp, |
||||
modifier = Modifier |
||||
.wrapContentSize(Alignment.Center) |
||||
.pointerMoveFilter( |
||||
onMove = { |
||||
if (it.x > 10 && it.y > 10) |
||||
overText.value = "Move position: $it" |
||||
false |
||||
}, |
||||
onEnter = { |
||||
overText.value = "Over enter" |
||||
false |
||||
}, |
||||
onExit = { |
||||
overText.value = "Over exit" |
||||
false |
||||
} |
||||
) |
||||
) |
||||
} |
||||
|
||||
``` |
Loading…
Reference in new issue