본문 바로가기

코틀린18

안드로이드 다이얼로그 만들기(Custom Dialog까지) 1. Dialog 1-1. 개념 1-2. 생명주기 2. 기본 Dialog 2-1. 텍스트만 2-2. 부정/긍정 버튼 2-3. 부정/긍정/중립 버튼 2-4. 리스트 2-5. 라디오 버튼 2-6. 체크박스 3. Custom Dialog 3-1. Dialog를 상속받는 방법 3-2. theme를 만드는 방법 4. 예제 링크 1. Dialog 1-1. 개념 다이얼로그는 사용자에게 결정을 내리거나 추가 정보를 입력하라는 메시지를 표시하는 작은 창이다. 보통 사용자가 다음으로 진행하기 전에 조치를 취해야 하는 모달 이벤트에 사용된다. 실제 사용 예시를 들자면 위 스크린샷처럼 앱 접속 시 뜨는 광고에도 쓰이고 뭔가를 삭제할 때 정말 삭제하시겠습니까? 처럼 의견을 물을 때도 쓰이고 사용처가 다양하다. 1-2. 생명주기.. 2022. 9. 9.
lateinit과 by lazy의 차이가 무엇인가요? 1. 요약 2. 늦은 초기화란? 3. lateinit 4. by lazy 5. 정리 6. 추가로 나올 수 있는 질문 6-1. lateinit을 초기화하기 전 까지는 변수에 무슨 값이 들어있을까요? 6-2. 초기화를 하지 않고 실행하면 어떻게 될까요? 6-3. 왜 lateinit은 Primitive Type과 사용할 수 없을까요? 1. 요약 lateinit과 by lazy를 아시나요? 둘의 차이는 무엇인가요? lateinit과 by lazy는 늦은 초기화를 할 때 사용합니다. 다만 lateinit은 var로 선언해야 하며 언제든 값을 수정할 수 있지만 by lazy는 val로 선언해야 하므로 한 번 초기화를 하면 값을 변경할 수 없습니다. 또, 초기화 시점에 차이가 있습니다. lateinit은 선언 이후 .. 2022. 6. 22.
안드로이드 컨텍스트 메뉴(Context Menu)란? [기본] 1. Context Menu 1-1. 개념 1-2. Menu 파일 생성 2. Context Menu 만들기 3. 실행 결과 4. 예제 코드 [심화] 5. Context Menu Item에 접근하기 6. RecyclerView에 Context Menu 적용하기 6-1. Adapter 6-2. Activity 1. Context Menu 1-1. 개념 컴퓨터를 사용할 때 어떤 요소를 마우스 우 클릭하면 이렇게 메뉴 창이 뜬다. 이런 걸 우리는 Context Menu라고 부른다. 안드로이드에서는 이런 메뉴 팝업 창을 띄울 수가 있는데 용도와 사용법에 따라 부르는 이름이 조금씩 다르다. 이번 포스팅에서는 요소를 길게 클릭하면 나타나는 플로팅 메뉴인 Context Menu를 알아보자. Menu의 종류와 .. 2021. 9. 27.
안드로이드 옵션 메뉴(Option Menu)란? 1. Menu 1-1. Menu란? 1-2. Option Menu란? 1-3. Menu 파일 생성 2. Option Menu 만들기 3. 실행결과 4. 예제 코드 1. Menu 1-1. Menu란? Option Menu 검색, 이메일 작성, 설정과 같이 앱 전체에 영향을 미치는 작업을 배치해야 함 앱 우측 상단에 '⋮' 모양의 아이콘을 누르면 생기는 메뉴 ex) 유튜브 화질이나 속도 등 설정할 때 누르는 버튼 Context Menu 요소를 길게 클릭하면 나타나는 플로팅 메뉴 ex) 사진을 꾹 누르면 나타나는 다운로드, 공유 등을 선택할 수 있는 메뉴 Popup Menu 요소를 클릭하면 나타나는 팝업 메뉴 팝업 메뉴의 작업은 해당 콘텐츠에 직접적으로 영향을 미쳐서는 안 됨 안드로이드에는 Menu라고 불리는.. 2021. 9. 26.
Binding Adapter(바인딩 어댑터)를 배워보자! 1. Binding Adapter 1-1. Binding Adapter란? 2. 사용법 2-1. Adapter 2-2. Layout 2-3. Activity 3. Binding Adapter의 목적 4. 예제 1. Binding Adapter 1-1. Binding Adapter란? 뷰의 속성을 설정하는 메서드는 여러 가지가 있다. 당장 텍스트 뷰만 해도 텍스트 크기, 텍스트 컬러, 높이, 여백 등등 무수히 많은 옵션들이 있으니 말이다. 하. 지. 만. 그럼에도 불구하고 내가 원하는 기능의 메서드가 없다면 어떻게 해야 할까? 액티비티에서 내가 원하는 메서드를 만들어 사용하듯이 레이아웃에서도 내가 원하는 메서드를 만들어 사용할 수는 없을까? 결론부터 말하자면 할 수 있다. Binding Adapter를 사.. 2021. 5. 29.