Intro RecyclerView를 사용할 때, Divider를 종종 View태그를 사용해 만들어 사용하기도 한다. Item을 커스텀하여 사용하고, 가변성이 필요하거나 style을 간단하게 입히려면 좋은 방법이다. 만약 단순하게 Divider가 필요한 경우에도 View를 사용해야하는 귀찮음이 있다. 또한 레이아웃이 복잡해 졌을 때, 메모리 관리에도 별로 좋지 않은 방법이라고 생각한다. Summary 오늘은 간단하게 Decorator를 사용해 RecyclerView에 Divider를 넣어주고자 한다. Using 1. 기본 화면 만들기 RecyclerView를 추가하고 Adapter, Item을 만들어 준다. activity_main.xml item_recyclerview.xml MyAdapter.kt cl..
Intro 안드로이드 스튜디오를 사용하다보면 외부 라이브러리를 많이 사용하게 된다. 그러다보니 자연스레 build.gradle의 길이가 길어지고, 가독성이 떨어지게 된다. 현재 진행 중인 프로젝트를 신규 SDK로 마이그레이션 하다보니 문득 gradle이 너무 보기 싫다는 생각이 들었다. 또한, 최근에 프로젝트를 새로 생성하려고 하니 Kotlin DSL이 프로젝트 생성시 선택사항의 기본값으로 설정되어 있었다. kotlin으로 통일하는게 그래도 조금은 나아보일까 하여, 선택해서 작성하게 되었다. 하지만 생각보다 코드가 길어지면서 좀... gradle 파일을 들춰보기 싫어지게 되었다. 특히 요즘 대부분의 프로젝트에 클린 아키텍처를 적용하다보니, 각 모듈마다 필요한 dependency가 중복되는 경우가 있다. ..
Intro 안드로이드에서 음악, 영상 등을 재생하려면 MediaPlayer를 사용해야 한다. 오늘 해볼 음원 재생은 따로 뷰는 필요없지만, 그만큼 리소스 관리를 잘하여야 한다. 음원을 재생 후 따로 리소스 해제를 제대로 해주지 않는다면, 에러가 발생하거나 기능 자체가 원하는 의도대로 제대로 동작하지 않을 것이다. 내가 이번에 했던것은 단순하게 raw 폴더의 리소스를 재생하는 것이었지만, 2개의 리소스를 겹치지 않게 연달아 실행하기 위해 몇가지 셋팅이 필요했다. Summary MediaPlayer는 기본적으로 제공되는 라이브러리이고, developers에서는 다음과 같이 설명하고 있다. 미디어 프레임워크의 가장 중요한 구성요소 중 하나는 MediaPlayer 클래스입니다. 이 클래스의 객체는 최소한의 설정..
프로젝트를 진행하다보니 가끔 뷰에 애니메이션을 적용하는 것이 필요했다. 복잡한 애니메이션은 잘 적용할 일이 없지만, 회전, 이동 등의 간단한 애니메이션은 생각보다 꽤나 자주 쓰이게 된다. 최근 내가 적용한 애니메이션은 Rotate Animation이다. 주로 로딩 프로그래스를 이미지로 만들때 사용하곤 한다. 그럼 시간이 없으니 바로 본론으로 들어가 보자. 1. 일회성 애니메이션 view.animate().apply { duration = 100 rotation(180f) } 180도 회전하는 방법이다. 원래대로 돌리려면 rotation에 0을 넣어주면 된다. view.animate().apply { duration = 100 rotation(0f) } 2. 무한 회전(무한 프로그래스) 무한으로 회전하는 ..
앱 사용자와의 상호작용의 기본으로 AlertDialog를 많이 사용하게 됩니다. 저는 확장함수로 구현을 해보았습니다. Context의 확장함수로 구현해서 액티비티 단에서 쉽게 호출할 수 있어서 자주 사용하는 방법입니다. 기본 다이얼로그 가장 기본적인 호출 방법 입니다. fun Context.showAlertDialog() { AlertDialog.Builder(this).apply { setTitle("제목") setMessage("내용") setPositiveButton("확인") { dialog, which -> // 확인 눌렀을 때 동작 dialog.dismiss() } setNegativeButton("취소") { dialog, whick -> // 취소 눌렀을 때 동작 dialog.dismiss..
- Total
- Today
- Yesterday
- 변수
- 버전카타로그
- Android
- 아이폰앱개발
- Java
- rotation
- Kotlin
- IOS
- Xcode
- Swift
- 안드로이드
- FLUTTER
- 격파르타 합격후기
- 아이폰
- 코틀린
- 음성재생
- 격파르타 장점
- 자바
- gem update
- 스위프트
- NoAnimation
- 격파르타 후기
- rotate
- ~=
- .toml
- dart
- 함수
- 연산자
- sqld 자격증 합격
- toml
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |