Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ import androidx.compose.ui.window.Dialog
import androidx.hilt.navigation.compose.hiltViewModel
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import com.alarmy.near.R
import com.alarmy.near.model.Anniversary
import com.alarmy.near.model.ContactFrequency
import com.alarmy.near.model.DayOfWeek
import com.alarmy.near.model.Friend
Expand Down Expand Up @@ -676,12 +677,14 @@ private fun ProfileDetailInfo(
horizontalArrangement = Arrangement.SpaceBetween,
) {
Text(
category,
modifier = Modifier.align(Alignment.Top),
text = category,
style = NearTheme.typography.B2_14_MEDIUM,
color = NearTheme.colors.GRAY01_888888,
)
Text(
content,
modifier = Modifier.padding(start = 54.dp),
text = content,
style = NearTheme.typography.B2_14_MEDIUM,
color = NearTheme.colors.BLACK_1A1A1A,
)
Comment on lines 679 to 690

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

현재 RowhorizontalArrangement = Arrangement.SpaceBetween 속성과 함께 content Textmodifier = Modifier.padding(start = 54.dp)를 사용하는 방식은 content 내용들을 세로로 정렬하는 데 효과적이지 않을 수 있습니다. SpaceBetween은 두 번째 자식 요소를 오른쪽 끝으로 밀어내므로, content Text는 항상 오른쪽에 정렬됩니다. 이로 인해 category의 길이에 따라 content의 시작 위치가 달라져 일관된 UI를 제공하기 어렵습니다.

또한, 54.dp는 의미를 알기 어려운 '매직 넘버'이므로 사용을 지양하는 것이 좋습니다.

더 견고한 2단 레이아웃을 구현하려면 부모 Row에서 horizontalArrangement를 제거하고, category TextModifier.width()로 고정 너비를 주거나 Spacer를 사용하여 컴포넌트 사이의 간격을 조절하는 방법을 고려해 보세요. 예를 들면 다음과 같습니다.

Row(
    modifier = Modifier.fillMaxWidth().padding(horizontal = 16.dp, vertical = 16.dp),
    verticalAlignment = Alignment.Top
) {
    Text(
        modifier = Modifier.width(80.dp), // 카테고리에 고정 너비 부여
        text = category,
        // ...
    )
    Spacer(modifier = Modifier.width(16.dp)) // 카테고리와 내용 사이 간격
    Text(
        modifier = Modifier.weight(1f), // 내용이 남은 공간을 채우도록 함
        text = content,
        // ...
    )
}

이러한 리팩토링을 통해 더 예측 가능하고 유지보수하기 쉬운 레이아웃을 만들 수 있습니다.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ import com.alarmy.near.model.Relation
import com.alarmy.near.model.ReminderInterval
import com.alarmy.near.presentation.feature.friendprofileedittor.component.NearDatePicker
import com.alarmy.near.presentation.feature.friendprofileedittor.dialog.EditorExitDialog
import com.alarmy.near.presentation.feature.friendprofileedittor.uistate.AnniversaryUIState
import com.alarmy.near.presentation.feature.friendprofileedittor.uistate.FriendProfileEditorUIEvent
import com.alarmy.near.presentation.feature.friendprofileedittor.uistate.FriendProfileEditorUIState
import com.alarmy.near.presentation.ui.component.NearFrame
Expand Down Expand Up @@ -540,7 +541,7 @@ fun FriendProfileEditorScreen(
}
}
}
Spacer(modifier = Modifier.height(32.dp))
Spacer(modifier = Modifier.height(16.dp))
Text(
modifier =
Modifier
Expand Down