[Kotlin] Sealed Class란?
Enum Class 이야기enum 은 C언어에도 존재할 만큼, 범용성이 뛰어난 녀석이다. 코틀린에도 당연하게 enum 클래스가 존재한다. 이를 활용해서 아래와 같은 동작을 구현할 수 있었다.enum class Color(val r: Int, val g: Int, val b: Int) { RED(255, 0, 0), ORANGE(255, 165, 0), YELLOW(255, 255, 0), GREEN(0, 255, 0), BLUE(0, 0, 255); fun rgb() = (r * 256 + g) * 256 + b}fun getColorName(color: Color) = when (color) { Color.RED -> "빨강" Color.ORANGE -> "주황" ..
2024. 11. 2.
[Android] View에 대하여 (2) - CustomView 만들기
커스텀 뷰 만들기커스텀뷰는 왜 필요할까?안드로이드 프레임워크에서 기본 제공되는 위젯들로는 Button, TextView, EditText, ListView, CheckBox, RadioButton, Spinner 등이 있고 레이아웃으로는 LinearLayout, FrameLayout, RelativeLayout 등이 있습니다.하지만 실제로 앱을 만들다 보면 기획자, 디자이너, 사용자(클라이언트)의 요구사항에 맞는 기능을 위의 열거한 뷰들로 만들기 어렵거나 불가능한 경우가 부지기수입니다. 예를들면, 원형 썸네일을 표현하기 위한 뷰를 만들기 위해서 ImageView를 상속할 수있고, 텍스트의 일부 내용만 보여주고 원할 때 펼쳐 모든 내용을 보여줄 수 있는 뷰를 만들기 위해서는 TextView를 상속할 수도 ..
2024. 10. 27.