2023.02.28 - [안드로이드] - [ 안드로이드 ] 구글 캘린더 구현하기 (2) - CalendarView 라이브러리 속성 정리 기본 레이아웃 메인 레이아웃 FrameLayout 내에 WeekCalendarView와 CalendarView를 선언했다. 각 캘린더뷰의 visibilty 속성과 애니메이션을 활용하여 자연스럽게 전환되도록 구현하였다. 현재는 테스트이기에 체크 박스로 전환을 구현해놨지만, 실제 프로젝트에선 스크롤로 전환하는 방식으로 구현할 예정이다. 달력 날짜 셀 레이아웃 달력의 날짜 셀 레이아웃이다. 현재 프로젝트에선 하나의 셀에 날짜와 도트로 단계를 표시해줄 예정이기 때문에 아래와 같이 선언해주었다. 도트는 가로로 최대 4개까지 생성되는데, 아직은 테스트 단계이므로 하나만 생성했다. ..
라이브러리 소개 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 자체에 설명이 정말 잘 ..
에러 문구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' }를 추가하라고 되어 있다.적혀 있는대로 추..
졸업 작품을 진행하기 전 여러가지 이론이나 기술 스택들에 대해 정확히 이해하고 있어야할 것 같았다. 이번 졸업 작품은 UI/UX적으로도 꽤 신경쓰고 있기 때문에 가장 먼저 해상도 대응 방법에 대해서 정리를 해야할 것 같았다. 해당 포스트에서는 안드로이드 공식 문서에서 제공하는 해상도 대응 방법에 대해서 정리 해보고자한다. 유연한 레이아웃 만들기 먼저 다양한 기기에 대응하기 위해서는 작은 변화에도 반응하는 유연한 레이아웃을 만들어야한다. 그 방법들은 아래와 같다. 1. ConstraintLayout 사용하기 공식 문서에서 가장 먼저 제안하는 방법은 ConstraintLayout을 기본 레이아웃으로 사용하는 것이다. ConstraintLayout 특성상 절대 위치가 아닌 상대 위치(뷰끼리의 공간적 관계)를 ..
개인적으로 서버 URL이나 API KEY 등이 외부에 노출되는 것을 꺼리는데, 서버 URL이나 API KEY를 소스 코드에 그대로 작성하고 프로젝트를 GitHub에 업로드하면 그대로 노출되기 때문에 이는 따로 관리해주는게 좋다. 해당 게시글에선 서버 URL를 예시로 사용한다. local.properties를 통해 안전하게 보관하기 1. local.properties 작성 // local.properties sdk.dir = Sdk 경로 base.url = "서버의 주소" 위와 같이 local.properties를 작성해준다. (sdk 경로는 미리 작성 되어 있을 것이므로 건드리지 않아도 된다.) 2. build.gradle 수정 2-1 Groovy인 경우 Properties properties = new..
https://minchanyoun.tistory.com/132 [Android] Fragment Add시 뒤에 Fragment 클릭되는 문제 해결방법 안녕하세요~ 챠니입니다! :) 예를 들어 FragmentA에서 FragmentB를 add 했을 때 FragmentA위에 FragmentB가 쌓이게 되는데 이때 FragmentA의 화면의 버튼이나 클릭할 수 있는 것들이 클릭되는 문제를 해결하는 minchanyoun.tistory.com 위에 올라온 Fragment의 최상단 레이아웃에 ``` android:clickable=true``` 작성
안드로이드의 Livedata에 Observer를 걸어 사용하던 중 Observer를 등록하자마자 호출이 되어 코드가 실행되는 경우가 있었다. https://stackoverflow.com/questions/50236778/why-livedata-observer-is-being-triggered-twice-for-a-newly-attached-observer Why LiveData observer is being triggered twice for a newly attached observer My understanding on LiveData is that, it will trigger observer on the current state change of data, and not a series of ..
1. Lottie https://lottiefiles.com/ LottieFiles: Download Free lightweight animations for website & apps. Effortlessly bring the smallest, free, ready-to-use motion graphics for the web, app, social, and designs. Create, edit, test, collaborate, and ship Lottie animations in no time! lottiefiles.com Lottie는 Gif보다 좋은 성능으로 애니메이션을 표현할 수 있게 해주는 라이브러리다. 안드로이드에서 Gif 사용시 성능 저하가 생길 수 있는데, Lottie를 사용하면 성능..