/
uizadcz
/
BasicNavigation
Обзор
Документация
Войти
/
uizadcz
/
BasicNavigation
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
app/src/main/java/ru/sber/basicnavigation/MainActivity.kt
75 строк
2 KB
Ilya Krinitsyn
first_commit
18 янв 2025, 18:29
18 янв 2025, 18:29
3a668f8
Код
Авторство
О чём код?
package ru.sber.basicnavigation import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.activity.enableEdgeToEdge import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.padding import androidx.compose.material3.Scaffold import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import ru.sber.activityexample.FirstActivity import ru.sber.basicnavigation.ui.theme.BasicNavigationTheme import ru.sber.composeexample.ComposeExampleActivity import ru.sber.fragmentexample.FragmentExampleActivity import ru.sber.navcomponentexample.NavComponentExampleActivity class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) enableEdgeToEdge() setContent { BasicNavigationTheme { Scaffold(modifier = Modifier.fillMaxSize()) { innerPadding -> MainContent( modifier = Modifier .padding(innerPadding) .padding(vertical = 16.dp, horizontal = 32.dp), actions = MainAction.entries.toList(), onAction = ::onAction ) } } } } private fun onAction(action: MainAction) = when (action) { MainAction.ACTIVITY_EXAMPLE -> { startActivity(FirstActivity.newInstance(this)) } MainAction.FRAGMENT_EXAMPLE -> { startActivity(FragmentExampleActivity.newInstance(this)) } MainAction.NAV_COMPONENT_EXAMPLE -> { startActivity(NavComponentExampleActivity.newInstance(this)) } MainAction.COMPOSE_EXAMPLE -> { startActivity(ComposeExampleActivity.newInstance(this)) } } } @Composable fun Greeting(name: String, modifier: Modifier = Modifier) { Text( text = "Hello $name!", modifier = modifier ) } @Preview(showBackground = true) @Composable fun GreetingPreview() { BasicNavigationTheme { Greeting("Android") } }