Notice
Recent Posts
Recent Comments
Link
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Archives
Today
Total
관리 메뉴

OX11001101100101001100010110110101

JetPack Compose - 입력한 값 버튼 눌러서 띄우기 본문

개발/모바일

JetPack Compose - 입력한 값 버튼 눌러서 띄우기

11001101100101001100010110110101 2024. 7. 4. 00:06

ref

Scaffold  |  Jetpack Compose  |  Android Developers

 

kotlin - Not able to use rememberScaffoldState() in android compose Material3 - Stack Overflow

Bottom AppBar with Jetpack Compose | by Abhishek Pathak | Medium

 

 

Not able to use rememberScaffoldState() in android compose Material3

I want to use rememberScaffoldState() in android material3 compose, but not able to use it. @OptIn(ExperimentalMaterial3Api::class) @Composable fun AppFeatureScreen(viewModel: AppFeatureViewModel =

stackoverflow.com


결과

@Composable
private fun PleaseAdmitMyInput3() {
    val snackbarHostState = remember { SnackbarHostState() }
    val scope = rememberCoroutineScope()

    Scaffold(
        snackbarHost = {
            SnackbarHost(hostState = snackbarHostState)
        },
        topBar = {

            TopAppBar(title = {Text(text ="TopAppBarTest")},
                modifier = Modifier.background(Color.Blue))
        },
        content = {
            Column(
                modifier = Modifier
                    .fillMaxSize()
                    .padding(it),
                verticalArrangement = Arrangement.Center,
                horizontalAlignment = Alignment.CenterHorizontally

            ) {
                val (text, setText) = remember {
                    mutableStateOf("input3")
                }
                TextField(
                    value = text,
                    onValueChange = setText
                )
                Button(
                    onClick = {
                        scope.launch {
                            snackbarHostState.showSnackbar("Hello $text")
                        }
                    }
                ) {
                    Text("클릭!!")
                }
            }
        },
        bottomBar = {
            BottomAppBar(
                modifier = Modifier.background(Color.Blue),
                contentPadding = PaddingValues(20.dp)
            ) {
                IconButton(onClick = { /*누르면홈으로가게*/ }) {
                    Icon(imageVector = Icons.Default.Home, contentDescription ="HOMEButton",  )
                }
                IconButton(onClick = { /*누르면 뒤로가게 근데 이유는 모르겠는데 defrecated 됐다*/ }) {
                    Icon(imageVector = Icons.Default.ArrowBack, contentDescription = "BackButton",)
                }
            }
        }
    )
}

 

 

1. Topbar

2.  content

3. BottomBar로

구성되어 있는거 같다.

 

진짜 여담인데 러닝커브가 너무 높은거같다.

우선 문법이 ㄹㅇ 개같다.

.net안에서만 놀았던 나는 쉽지않다

 

다음에는 바텀네비게이션 좀 이쁘게 하는 방법을 알아내와야 겠다.