본문 바로가기

Android13

[Android] ItemTouchHelper.Callback으로 리사이클러뷰 아이템을 마스터하는 방법: 주요 오버라이드 메서드와 그 역할 ItemTouchHelper.Callback 클래스를 사용하면서 clearView 기능을 통해 드래그 앤 드롭 작업의 종료 시점을 감지할 수 있다는 것을 알게 되었다. 이 과정에서 ItemTouchHelper.Callback 클래스에는 clearView 외에도 다양한 유용한 오버라이드(Override) 메서드들이 있다는 것을 발견했다. 이러한 메서드들을 정리하여 기록해 두고자 한다. ItemTouchHelper.Callback 클래스는 리사이클러뷰의 아이템을 드래그 앤 드롭하거나 스와이프할 때 사용자 정의 동작을 구현할 수 있도록 해주는 중요한 클래스이다.이 클래스를 통해 다음과 같은 여러 메서드들을 오버라이드할 수 있다. isLongPressDragEnabled() 역할: 길게 눌러서 드래그를 시작할 .. 2024. 4. 1.
[ Android ] Android에서 Selector 사용 시 상태 정의 순서의 중요성 이해하기 Android에서 selector를 사용하는 것은 버튼이나 뷰의 다양한 상태(예: 선택됨, 클릭됨, 포커스됨 등)에 따라 다른 그래픽이나 색상을 표시할 수 있게 해 주는 유용한 기능이다. selector는 XML 파일로 정의되며, 태그 내에 여러 태그를 사용하여 각 상태에 대한 디자인을 지정하고, 각 태그는 특정 상태에 대응하는 그래픽 리소스를 지정한다. 오늘 기록 해 두고 싶은 내용은 selector를 사용할 때 상태 정의 순서의 중요성에 관한 것 이다. 평소에는 selector를 만들고 사용하는 데 큰 신경을 쓰지 않았었는데, 평소와 같이 버튼의 selector를 만들고 테스트를 해보니, selected와 enabled의 상태가 전혀 적용되지 않는 문제에 직면했다. 코드를 아무리 살펴봐도 문제가 없어.. 2024. 3. 26.
[ Android ] Android 레이아웃 재사용의 마법사: Include 태그와 데이터 바인딩 활용하기 include 태그는 안드로이드 레이아웃 작업을 할 때 매우 유용하게 활용 되는 태그이다. 이를 통해 하나의 레이아웃 파일을 다른 레이아웃 파일에 포함시킬 수 있으며, 이는 코드의 재사용성의 높이고 레이아웃 관리의 효율성을 개선하는 데 큰 도움이 된다. 예를 들어, 여러 화면에서 공통적으로 사용되는 헤더나 푸터 같은 UI 요소가 있다면, 해당 요소들을 별도의 레이아웃 파일로 만들어 두고, 각 화면의 레이아웃에서 include 태그를 사용해 해당 레이아웃 파일을 포함시킴으로써 여러 곳에서 이를 재사용할 수 있다. 이 방법을 통해 중복 코드를 줄이고, 유지 보수를 용이하게 만든다. 사용 방법은 1. 재사용할 레이아웃 파일 생성: 먼저, 재사용할 레이아웃 파일을 먼저 만들어주면 되는데 상단 바와 같이 레이아웃.. 2024. 3. 25.
[ Android ] Android에서 전역 상태 관리: Application 클래스 활용하기 시스템바 알림 기능을 구현하는 과정에서, 알림 시간을 표현하기 위해 "오전"과 "오후"와 같은 문자열 값을 리소스에서 불러오려면 context가 필요했다. 하지만 Utils 클래스에서는 context를 직접 참조할 수 없었다. 이 문제를 해결하기 위해 WallPadApp.java 클래스에서 context를 반환하는 함수를 사용했다. 이 과정에서 WallPadApp 클래스의 목적과 그 안에 정의된 함수나 값들이 어떻게 분류되어 있는지에 대한 궁금증이 생겼다. WallPadApp 클래스를 살펴보니, 이는 Application 클래스를 상속받아 커스터마이즈되어 있었다. 공식문서를 찾아보니, 전역 애플리케이션 상태를 유지하기 위한 기본 클래스입니다. 하위 클래스를 생성하고 이 하위 클래스의 정규화된 이름을 "a.. 2024. 3. 25.