본문 바로가기
728x90

Android43

[안드로이드] 이미지(ImageView) 테두리의 모서리 둥글게 만들기 안드로이드에서 이미지 모서리를 둥글게 처리하는 여러 가지 방법에 대해 작성해 보겠습니다. 1. 외부 라이브러리 - CircleImageView 이미지를 정확히 동그란 원형으로 보여주고 싶을 때 유용합니다. dependencies { ... implementation 'de.hdodenhof:circleimageview:3.1.0' } 의존성 한 줄만 추가해 놓으면 매우 쉽게 사용할 수 있습니다. // 테두리 색상 GitHub - hdodenhof/CircleImageView: A circular ImageView for Android A circular ImageView for Android. Contribute to hdodenhof/CircleImageView development by creatin.. 2023. 7. 21.
[안드로이드] Databinding으로 View의 visibility 설정하기 Databinding을 이용해 xml 파일에서 뷰의 visibility 속성을 지정하려는 이리저리 바꿔보아도 빨간 줄이 사라지지 않습니다.. 무시하고 그냥 빌드를 했더니 이런 오류 문구가 뜨더군요. Could not find identifier 'View'. Check that the identifier is spelled correctly, and that no or tags are missing. 원인은 태그에 View가 import 되어 있지 않은 이유였습니다. 해결방법 ... ... 2023. 7. 18.
[안드로이드] Hilt에서 @Binds와 @Provides의 차이 Hilt 라이브러리를 이용해 의존성을 주입하는 경우에 Module에서 abstract class에는 @Binds 어노테이션이, object에는 @Provides 키워드가 붙게 되는데 어떤 이유에서인지 알아보겠습니다. @Binds? @Provides? 결론부터 말하자면 @Binds와 @Provides의 가장 큰 차이는 어떤 인스턴스를 제공하느냐 입니다. @Binds 어노테이션은 인터페이스 인스턴스, @Provides 어노테이션은 클래스 인스턴스를 제공합니다. @Binds @Binds는 Hilt에게 인터페이스 인스턴스를 제공하기 때문에 주로 Interface로 정의된 레포지토리(Repository)를 인스턴스로 제공합니다. 좀 더 정확히 말하면 인터페이스는 생성자를 정의할 수 없기 때문에 Repository.. 2023. 7. 15.
[안드로이드] 벡터파일(.svg)을 ImageView에 로드하는 방법 feat. Coil 장장 6~7시간의 삽질 끝에 벡터 파일(.svg 확장자)을 ImageView에 로드하는데에 성공했다..... drawable에 저장된 벡터 이미지를 불러오는 것이 아니라 서버에서 내려주는 https://xxxxx.svg .svg 확장자로 된 url을 ImageView에 띄워줘야 했다. 평소에 이미지 로딩 라이브러리로 Glide를 주로 사용해 '당연히 Glide가 해주겠지'라는 생각에 Glide만 이것저것 고쳐보다 결국 Glide는 svg 파일 로딩을 지원하지 않는다는 것을 알았다. Glide는 svg 파일을 지원하지 않지만 GlideApp을 이용해 벡터 파일 로딩이 가능하다고 한다. 그치만 본인의 경우에서는 GlideApp, GlideAppModule 버전에 따라 크래쉬가 계속 발생했고, 본인과 비슷한 .. 2023. 7. 12.
[안드로이드] Lottie 애니메이션 사용하기 어플리케이션과 사용자와의 상호작용에서 앱을 더 생동감 넘치게(?) 표현하는 방법에서 Airbnb에서 제공하는 Lottie 라이브러리가 있습니다. 저는 최근 배달의 민족이나 은행앱 로딩에서 위와 같은 효과를 자주 본 것 같아요. Lottie는 JSON 기반의 애니메이션 파일을 실시간으로 렌더링하는 벡터 애니메이션입니다. 벡터 기반이라 용량이 작고, 오픈소스 라이브러리로 별도의 변환이 필요 없어 편리하게 사용할 수 있다는 장점이 있습니다. 아래의 사이트에서 매우 많은 Lottie 파일을 무료로 제공하니 다운받아 사용합니다. Featured animations from our community Featured collection of Free Lottie Animations created with Bodymo.. 2023. 6. 8.
[안드로이드] Hilt 의존성 주입 - "error: [Dagger/MissingBinding] android.content.Context cannot be provided without an @Provides-annotated method." 에러 해결방법 Hilt를 사용하지 않았던 프로젝트에서 ViewModel과 Repository에 Hilt 의존성을 주입하던 중 오류가 발생했습니다. "error: [Dagger/MissingBinding] android.content.Context cannot be provided without an @Provides-annotated method." 오류 메시지의 의미대로 Context를 사용하는 곳에 어노테이션을 추가하지 않아서 발생하는 오류(?)라고 생각이 들어 얼른 구글링을 했습니다. DataStore에 접근하기 위해 Repository에 매개변수로 Context를 전달받고 있습니다. 이때, @ApplicationContext 키워드를 추가하지 않아 발생하던 오류였습니다!! 2023. 5. 14.
728x90
반응형