안드로이드

안드로이드/이론

[ 안드로이드 ] BottomSheetDialog 테두리 둥글게 설정하기

사진과 같은 BottomSheetDialog를 구현해보고자 한다. 백그라운드에 대한 drawable을 만들어서 최상위 뷰의 background로 지정하면 되지 않을까 생각했었는데 적용되지 않았다. background를 지정해주어야 하는 건 맞지만 themes.xml에서 설정해주어야한다. themes.xml에서 설정하는 글 들이 많이 있지만, 따라해도 안되는 경우가 많았다. 같은 경우라면 아래의 코드를 시도해보면 좋을 듯하다. 바텀 시트 백그라운드 생성 background_bottom_sheet.xml 원하는 모양으로 배경을 생성해준다. Themes.xml 설정 themes.xml에 다음과 같은 코드를 추가해준다. /.../ 그 후, 기본적으로 선언되어 있던 태그 사이에 아래 코드를 추가한다. 이렇게만 해..

안드로이드/이론

[ 안드로이드 ] - Selector를 이용하여 버튼, 체크박스 등에 클릭 효과 주기

해당 화면을 보면 체크 아이콘과 버튼이 활성화 되었을 때와 비활성화 되었을 때 디자인이 다른 것을 볼 수 있다. 앱을 구현하다보면 위와 같이 사용자의 동작에 따라 버튼을 활성화/비활성화 해야하는 경우가 많은데, 이는 Selector를 이용하면 쉽게 구현할 수 있다. Selector 작성 item의 속성에 보면 state_enabled처럼 상태를 지정해줄 수 있다. state_enabled는 활성화 되었을 때를 뜻하며, 클릭 했을 때 색상을 변경하고 싶다면 state_checked를 사용하면 된다. 버튼에 Selector 지정 이런식으로 background에 속성을 지정해주면 된다. 텍스트도 같이 변경하고 싶다면 text에 대한 Selector도 생성한 후 지정해주면 된다.

안드로이드/이론

[ 안드로이드 ] Handler를 통한 Viewmodel 변수 상태 체크하기

기존에 안드로이드 프로젝트에 MVVM만 적용했을 땐, ViewModel을 기능 기준으로 분류를 했었다. 화면마다 ViewModel를 만들기에는 사용하는 Repository가 너무 많이 겹쳤기 때문에 클래스간 의존성이 너무 높아져서 기능별로 ViewModel-Repository 세트를 구현한다음에, 뷰에서 필요한 ViewModel을 가져다 쓰는 방식으로 개발을 진행했었다. 개발하면서도 위의 문제가 거슬렸었는데, 최근 클린 아키텍쳐를 공부하면서 해결 방안을 찾은 것 같다. 클린 아키텍쳐에선 Repository의 기능 중 필요한 기능만 Use Case로 뽑아서 쓰고, Use Case는 Repository 인터페이스를 참조하기 때문에 의존성이 높지 않다. 위의 방식을 이용하면 화면마다 ViewModel을 만들어..

안드로이드

[ 안드로이드 ] 구글 캘린더 구현하기 (3) - 캘린더 Week <-> Month 전환 구현

2023.02.28 - [안드로이드] - [ 안드로이드 ] 구글 캘린더 구현하기 (2) - CalendarView 라이브러리 속성 정리 기본 레이아웃 메인 레이아웃 FrameLayout 내에 WeekCalendarView와 CalendarView를 선언했다. 각 캘린더뷰의 visibilty 속성과 애니메이션을 활용하여 자연스럽게 전환되도록 구현하였다. 현재는 테스트이기에 체크 박스로 전환을 구현해놨지만, 실제 프로젝트에선 스크롤로 전환하는 방식으로 구현할 예정이다. 달력 날짜 셀 레이아웃 달력의 날짜 셀 레이아웃이다. 현재 프로젝트에선 하나의 셀에 날짜와 도트로 단계를 표시해줄 예정이기 때문에 아래와 같이 선언해주었다. 도트는 가로로 최대 4개까지 생성되는데, 아직은 테스트 단계이므로 하나만 생성했다. ..

안드로이드

[ 안드로이드 ] 구글 캘린더 구현하기 (2) - CalendarView 라이브러리 속성 정리

[ 안드로이드 ] 구글 캘린더 구현하기 (1) - CalendarView 라이브러리 정리 라이브러리 소개 GitHub - kizitonwose/Calendar: A highly customizable calendar view and compose library for Android. A highly customizable calendar view and compose library for Android. - GitHub - kizitonwose/Calendar: A highly customizable calendar dongx2.tistory.com XML Attributes 해당 라이브러리의 XML 속성들은 모두 cv_로 시작한다. CalendarView 및 WeekCalendarView 클래스에 사용..

안드로이드

[ 안드로이드 ] 구글 캘린더 구현하기 (1) - CalendarView 라이브러리 추천 / 예제

라이브러리 소개 GitHub - kizitonwose/Calendar: A highly customizable calendar view and compose library for Android. A highly customizable calendar view and compose library for Android. - GitHub - kizitonwose/Calendar: A highly customizable calendar view and compose library for Android. github.com 여러가지 캘린더 라이브러리를 찾아보다가 해당 라이브러리를 찾게 되었다. 해당 라이브러리의 장점으로는 커스텀이 매우 자유롭고 방법도 쉽다. 또한, 라이브러리 Readme 자체에 설명이 정말 잘 ..

안드로이드/에러 해결

[ 안드로이드 ] org.gradle.api.internal.artifacts.ivyservice.DefaultLenientConfiguration$ArtifactResolveException 에러 해결 방법

에러 문구Caused by: org.gradle.api.internal.artifacts.ivyservice.DefaultLenientConfiguration$ArtifactResolveException: Could not resolve all files for configuration ':app:debugRuntimeClasspath'.새 프로젝트를 시작하기 전 UI 테스트 용 프로젝트를 만들어 라이브러리 등을 커스텀하며 테스트 해보고 있었다.Collapse Calendar 라이브러리를 Github에서 받아 적용하던 중 위와 같은 에러가 났다.제작자의 Github에는 root build.gradle에 maven { url 'https://jitpack.io' }를 추가하라고 되어 있다.적혀 있는대로 추..

안드로이드

[ 안드로이드 ] 멘토링 과제 1.

채용 공고 현황 & 부족한 부분 1. 주요 자격 요건 & 우대 사항 채용 공고에서 자주 나오는 항목들을 총 5 가지의 카테고리로 분류하여 정리해 보았습니다. 더보기 언어 Kotlin 개발 경험 (대부분은 Kotlin이 많았음) Java 개발 경험 아키텍처 안드로이드 플랫폼에 대한 이해 AAC, Clean Architecture 디자인 패턴 (구조 패턴 ) 협업 서버 개발자와의 협업 Git / Git-Flow를 이용한 개발 경험 타 직군과(디자이너, 기획자) 협업 경험 기술 스택 & 라이브러리 Jetpack 라이브러리 (Compose 등) Coroutine, Flow 개발 경험 DI(Koin/Hilt/Dagger) 라이브러리 개발 경험 Retrofit2 개발 경험 개발 경험 백그라운드 프로세스 개발 경험 ..

dongx._.2
'안드로이드' 카테고리의 글 목록 (5 Page)