mash-up 10기
-
MotionLayout을 활용하여 간단한 Animation 만들기Android 2023. 3. 4. 02:34
최근 디자인 개편 중 자연스러운 애니메이션을 적용해야 하는 업무가 생겼습니다. CollapsingToolbarLayout과 비슷하지만 6개의 뷰 위치/노출 처리가 필요한 상황이었습니다. 2개 이상의 뷰를 제어하는 처리라 CollapsingToolbarLayout으로는 해결할 수 없어 MotionLayout을 활용해야 했습니다. 그래서 이번 포스팅은 MotionLayout을 알아보고 정말 간단한 Animation 만들기입니다 :) MotionLayout MotionLayout은 Google I/O ‘18에 처음 도입되었으며 이후 많은 개선을 거치고 있습니다. 사실 MotionLayout은 완전히 새로운 기능으로 도입된 것은 아니고, 원래 ConstraintLayout에서 애니메이션 효과를 주기 위해 사용한..
-
RxJava 리액티브 연산자 입문RxJava 2023. 2. 25. 15:50
RxJava 리액티브 연산자 입문 ReactiveX 문서의 연산자 부분을 살펴보면 다양한 연산자(operator) 함수가 존재합니다. 리액티브 연산자의 특징은 언어 특성과 크게 연관이 없다는 것입니다. ReactiveX는 자바뿐만 아니라 자바스크립트, 닷넷, 스칼라, 클로저, 스위프트의 리액티브 연산자 목록을 함께 제공하기 때문입니다. 리액티브 연산자 분류 연산자 생성(Creating) 연산자 : Observable, Single 클래스 등으로 데이터의 흐름을 만들어내는 함수. 변환(Transforming) 연산자 : 어떤 입력을 받아서 원하는 출력 결과를 내는 전통적인 의미의 함수. 필터(Filter) 연산자 : 입력 데이터 중에 원하는 데이터만 걸러내는 함수. 합성(Combining) 연산자 : 생성..
-
Sealed class로 RecyclerView Multi View Type 때려 부수기Android 2023. 2. 24. 02:30
안녕하세요! Mash-Up 10기 정현성 입니다. 이번에는 Room에 이어 Kotlin의 Sealed Class에 대해 포스팅하려고 합니다 :) Sealed Class란? Sealed Class는 상위 클래스를 상속받는 하위 클래스의 종류를 제한하는 특성이 있는 클래스입니다. 어떤 클래스를 상속받는 하위 클래스는 여러 파일에 존재할 수 있기 때문에 컴파일러는 얼마나 많은 하위 클래스들이 존재하는지 알지 못합니다. 하지만 Sealed Class는 동일 파일에 정의된 하위 클래스 외에는 존재하지 않는다는 것을 컴파일러에 알려줍니다. 예를 들어 Color 라는 상위 클래스를 만들고, 동일한 파일에 Color Class를 상속하는 Red Class, Black Class라는 클래스를 선언했다고 가정하면, Sea..