Compose Multiplatform Mobile project template
This commit is contained in:
2
shared/src/androidMain/AndroidManifest.xml
Normal file
2
shared/src/androidMain/AndroidManifest.xml
Normal file
@@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest />
|
5
shared/src/androidMain/kotlin/main.android.kt
Normal file
5
shared/src/androidMain/kotlin/main.android.kt
Normal file
@@ -0,0 +1,5 @@
|
||||
import androidx.compose.runtime.Composable
|
||||
|
||||
actual fun getPlatformName(): String = "Android"
|
||||
|
||||
@Composable fun MainView() = App()
|
23
shared/src/commonMain/kotlin/App.kt
Normal file
23
shared/src/commonMain/kotlin/App.kt
Normal file
@@ -0,0 +1,23 @@
|
||||
import androidx.compose.material.Button
|
||||
import androidx.compose.material.MaterialTheme
|
||||
import androidx.compose.material.Text
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.getValue
|
||||
import androidx.compose.runtime.mutableStateOf
|
||||
import androidx.compose.runtime.remember
|
||||
import androidx.compose.runtime.setValue
|
||||
|
||||
@Composable
|
||||
internal fun App() {
|
||||
MaterialTheme {
|
||||
var text by remember { mutableStateOf("Hello, World!") }
|
||||
|
||||
Button(onClick = {
|
||||
text = "Hello, ${getPlatformName()}"
|
||||
}) {
|
||||
Text(text)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
expect fun getPlatformName(): String
|
5
shared/src/iosMain/kotlin/main.ios.kt
Normal file
5
shared/src/iosMain/kotlin/main.ios.kt
Normal file
@@ -0,0 +1,5 @@
|
||||
import androidx.compose.ui.window.ComposeUIViewController
|
||||
|
||||
actual fun getPlatformName(): String = "iOS"
|
||||
|
||||
fun MainViewController() = ComposeUIViewController { App() }
|
Reference in New Issue
Block a user