본문 바로가기

Projects/ATeen3

[Android/Kotlin] open 메서드를 활용한 다형성 구현 Kotlin에서 클래스나 메서드를 정의할 때, open 키워드를 사용하면 상속받은 클래스에서 해당 메서드를 오버라이드할 수 있습니다. 이번 포스팅에서는 open fun onBind(profileDetailModel: ProfileDetailModel) {} 메서드를 예로 들어, 이 메서드가 어떤 역할을 하고, 어떻게 활용될 수 있는지에 대해 설명하겠습니다. open 키워드와 메서드 오버라이드Kotlin에서는 기본적으로 모든 클래스와 메서드가 final로 선언됩니다. 이는 서브클래스에서 해당 클래스나 메서드를 상속하거나 오버라이드할 수 없음을 의미합니다. 그러나, 클래스나 메서드를 open으로 선언하면, 이를 서브클래스에서 확장하거나 오버라이드할 수 있게 됩니다.예를 들어, 다음과 같은 ProfileDet.. 2024. 8. 26.
[Android/Kotlin] filterIsInstance와 firstOrNull을 사용한 개선 오늘은 Kotlin 코드를 리팩토링하여 더 간결하고 명확하게 만드는 방법을 공유하고자 합니다. 주제로는 filterIsInstance와 firstOrNull을 사용하여 객체를 찾고 처리하는 방법을 다루겠습니다.변경 전 코드먼저, 기존의 toggleLike 함수 코드는 아래와 같았습니다.fun toggleLike() { val currentItems = _items.value.toMutableList() val profileImagesIndex = currentItems.indexOfFirst { it is ProfileDetailModel.ProfileImages } if (profileImagesIndex != -1) { val profileImages = currentIt.. 2024. 8. 12.
[Android] AppBarLayout에 그림자가 생기는 문제 해결 방법 AppBarLayout을 사용하면서 배경색을 투명하게 설정하면 그림자가 자동으로 생기는 경우가 있습니다.이 글에서는 AppBarLayout의 배경을 투명하게 설정하면서도 그림자를 없애는 방법에 대해 다뤄보겠습니다.문제 상황다음과 같이 AppBarLayout의 배경색을 투명하게 설정했습니다. 위와 같이 elevation을 0dp로 설정했지만, 여전히 그림자가 남아있습니다.해결 방법그림자를 없애기 위해 AppBarLayout에 outlineProvider 속성을 추가해 줍니다. 이 속성은 뷰의 외곽선을 제공하는데, none으로 설정하면 그림자가 사라집니다. 요약배경색을 투명하게 설정하면서 그림자 제거:android:background="@android:color/transparent"android:eleva.. 2024. 7. 25.