Jetpack [대왕놀] Button in Compose

황제낙엽 2022.12.20 14:40 조회 수 : 0

sitelink1 https://aroundck.tistory.com/8190 
sitelink2  
sitelink3  

Android View 시스템의 Button 은 Compose 에서도 'Button' 이다.

 

#

Button 의 function signature 는 아래와 같다.

@Composable
fun Button(
    onClick: () -> Unit,
    modifier: Modifier = Modifier,
    enabled: Boolean = true,
    interactionSource: MutableInteractionSource = remember { MutableInteractionSource() },
    elevation: ButtonElevation? = ButtonDefaults.elevation(),
    shape: Shape = MaterialTheme.shapes.small,
    border: BorderStroke? = null,
    colors: ButtonColors = ButtonDefaults.buttonColors(),
    contentPadding: PaddingValues = ButtonDefaults.ContentPadding,
    content: @Composable RowScope.() -> Unit
)

 

#

Compose Button 은 Android View 의 Button 과 다르게 clickListener 만 다루고, Text 는 따로 그려주어야 한다.

Button(onClick = { /* .. */ }) {
	Text(stringResource(R.string.start))
}

 

'이렇게 따로 Text 를 그려줄거면, Row, Column 등을 활용하며 clickable 을 주면 되지 않느냐?' 라는 의문이 든다.

Button 의 경우 기본적으로 'Button 처럼 생긴 View' 를 제공해준다.

기본값만 사용해도, corner 가 rounding 되고, background 는 primary color 가 지정되며, 기본 elevation 도 지정된다.

또한 Button 내부의 View 는 Row(LinearLayout orientation=horizontal) 처럼 작동하기에 안쪽에 별도로 Row 를 사용할 필요가 없다.

Button(onClick = { /* .. */ }) {
	Text(text = "Click ", color = Color.Magenta)
	Text(text = "Here", color = Color.Green)
}

 

다운로드.jpg

 

 

번호 제목 글쓴이 날짜 조회 수
128 PC를 위한 최고의 안드로이드 에뮬레이터 황제낙엽 2023.01.18 2
127 [Jetpack Compose UI / 상추님] GDG Jetpack compose 코드랩 수료 후기 (feat. 굿즈) 황제낙엽 2022.12.24 1
126 [Jetpack Compose UI / kyj1991719] compose - Compose 이해 황제낙엽 2022.12.24 3
125 [Jetpack Compose UI / 꾸준] Compose 가 뭔데...? 황제낙엽 2022.12.24 0
124 [Jetpack Compose UI / IIVIKI] Compose 학습과 분석 황제낙엽 2022.12.24 1
123 [Jetpack Compose UI] 스터디 시작하기 황제낙엽 2022.12.24 0
122 [개발하는 정대리] 취준생을 위한 안드로이드 앱만들기 - 바텀네비게이션 뷰, 네비게이션 AAC file 황제낙엽 2022.12.22 1
121 [개발하는 정대리] 취준생을 위한 안드로이드 앱만들기 - 뷰바인딩 file 황제낙엽 2022.12.22 0
120 [개발하는 정대리] 취준생을 위한 안드로이드 앱만들기 - 라이브데이터 뷰모델 file 황제낙엽 2022.12.21 5
119 [대왕놀] ImageButton in Compose (IconButton) 황제낙엽 2022.12.20 2
118 [대왕놀] compose instrumentation test tutorial 황제낙엽 2022.12.20 1
117 [대왕놀] Switch in Compose 황제낙엽 2022.12.20 0
116 [대왕놀] EditText in Compose (TextField) 황제낙엽 2022.12.20 0
115 [대왕놀] margin in Compose 황제낙엽 2022.12.20 0
114 [대왕놀] modifier in compose 황제낙엽 2022.12.20 1
» [대왕놀] Button in Compose file 황제낙엽 2022.12.20 0
112 [대왕놀] TextView in Compose (Text) 황제낙엽 2022.12.20 0
111 [대왕놀] ImageView in Compose (Image) 황제낙엽 2022.12.20 1
110 [대왕놀] LinearLayout in Compose (Row, Column) 황제낙엽 2022.12.20 0
109 [대왕놀] Introduction to Jetpack compose 황제낙엽 2022.12.20 1