-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Top Bar 구현 #19
Top Bar 구현 #19
Conversation
* chore: add ".idea/*" to gitignore * chore: /.idea * chore: .idea * chore: /.idea * delete: .idea/* * clean
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
아직 진행중인것 같지만 리뷰도 한번 확인부탁드려요!
Spacer(modifier = Modifier.weight(1f)) | ||
|
||
// Actions | ||
if (actions != null) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
별건 아니지만 전 이런식의 표현이 좀 더 kotlin스러워서 선호합니다
actions?.let{
... // anctions가 null이 아닌경우
}
if (actions != null) { | ||
Row( | ||
verticalAlignment = Alignment.CenterVertically, | ||
modifier = Modifier | ||
.padding(10.dp) | ||
) { | ||
actions() | ||
} | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
…p-bar # Conflicts: # compose/src/main/kotlin/com/yourssu/handy/compose/TopAppBar.kt
질문하신 내용에 대해서 머티리얼은 어떻게 구현되어 있나요? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
수고하셨습니다!!
-> 내부 패딩을 넣는 방법은 어떨까요?? |
https://www.notion.so/yourssu/top-bar-6840c966d0a24e47a3120ff7ebfba193?pvs=4
|
actions: @composable (RowScope.() -> Unit)? = null 이렇게 받아버리면 action의 각 요소에 접근을 못해서 내부 패딩을 줄 수가 없다 -> 그런 것 같네요 다른 디자인시스템처럼 IconAction, TextAction 이런식으로 별도의 이너 함수를 만들어서 그 형식대로 받거나 왼쪽 아이콘처럼 Box로 감싸거나 해야할것같아요 actions?.let {
Row(
verticalAlignment = Alignment.CenterVertically,
horizontalArrangement = Arrangement.spacedBy(topBarActionsInsidePadding), // 요소 간 간격
modifier = Modifier.fillMaxHeight()
) {
Spacer(modifier = Modifier.weight(1f))
it.forEach { action ->
Box(
contentAlignment = Alignment.Center,
modifier = Modifier
.size(48.dp) // 터치 영역 48dp 보장
.clickable { action.onClick() } // 각각의 action 클릭 핸들러
) {
action.icon()
}
}
}
} |
it.forEach가 안먹..혀서 ㅜㅜ |
구현
ToReviewer
왼쪽 아이콘은 box로 감싸서 터치영역을 넓혔는데, actions으로 받은 오른쪽 친구들의 터치영역을 넓힐 수 있는 방법이 있을까요? 단순하게 요소 간의 간격 띄우는거는
horizontalArrangement = Arrangement.spacedBy(topBarActionsInsidePadding),
로 하였는데, 다시 보니 여기도 왼쪽 아이콘 처럼 터치영역을 넓혀야할 것 같드라구요.. 좋은 아이디어가 있다면 코멘트 부탁드립니다. 감사합니다.