일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 젯팩컴포즈
- dynamiclink
- 클린 아키텍처
- 안드로이드 라이브러리
- 아키텍처
- Clean Architecture
- 동적 링크
- 애드몹광고
- android 지도
- 안드로이드컴포즈
- JetpackCompose
- 안드로이드광고
- glide
- component
- 다이나믹 링크
- 안드로이드 카카오 지도
- Android 애드몹
- android kakao map
- android daum map
- 파이어베이스
- HTTP
- 애드몹배너
- ImageView
- Android
- 안드로이드
- thread
- 컴포넌트
- 선언형UI
- RecyclerView
- Firebase
- Today
- Total
목록Android/유용한 기술 (55)
코딩스토리
레이아웃이 겹쳐서 있을 경우 뒤에 배치된 버튼이나 레이아웃에 대한 클릭 이벤트를 적용하고싶지 않을 때가 있습니다. 저는 스크롤뷰 안에 지도api를 넣었는데 스크롤을 하면 스크롤 이벤트와 지도 에서 터치로 위치가 변경되는 이벤트가 중복이 되는 경우가 생겨 지도를 감싼 레이아웃에 클릭 이벤트를 막기 위해 이 방법을 사용했습니다. setEnable()로 막을 경우 색이 어두워지는 효과를 가지게 되지만 setOnTouchListener()를 사용하면 상태는 그대로인데 터치이벤트를 제거할 수 있습니다. mapView.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { r..

결과화면 ViewPager2에서는 기본적으로 Vertical Paging기능과 Horizontal Paging기능이 있습니다. 하지만 Vertical이면 Vertical, Horizontal이면 Horizontal로만 이루어져 있습니다. 이번 시간에는 Vertical기능도 되고 Horizontal기능도 되는 FreeViewPager를 만들어보겠습니다. 우선 저번시간과 마찬가지로 ViewPager2를 사용하려면 다음 종속성을 추가해야합니다. build.gradle(Module:app) dependencies { //viewpager2 implementation 'androidx.viewpager2:viewpager2:1.0.0-alpha04' } VerticalVierPager 생성 activity_mai..

기존의 ViewPager에서는 좌우 스크롤링만 가능했었습니다. 상하 스크롤링기능을 추가하고 싶다면 새로운 모듈을 만들어서 사용해야하는 번거로움이 생길 뿐더러 몇몇 기기에서는 스크롤이 버벅거리는 현상이 있었습니다. ViewPager2 새로운 기능 ViewPager2는 RecyclerView를 기반으로 사용됩니다. 수직스크롤링 지원 notifyDataSetChanged기능 페이지 변경 에니메이션 제어 기능 향상 사용하기 편해진 페이지 변경 리스너 변경된 사용방법 FragmentStatePagerAdapter에서 FragmentStateAdapter로 대체합니다 PagerAdapter에서 RecyclerView.Adapter로 대체합니다 페이지 이벤트를 addPageChangeListener()에서 regis..

RecyclerView를 사용하면서 수정된 데이터를 다시 뿌려주기 위해서 notifyDataSetChanged()를 사용해 화면을 다시 갱신을 시킬 경우가 많이 있습니다. 화면을 갱신 시키는데 깜빡임 현상때문에 고정되어있는 데이터들도 깜빡거려 안좋게 보일 수가 있습니다. 이번 시간에는 위 사진과 같이 notifyDataSetChanged()를 통해 화면을 새로 갱신을 할 때 깜빡이는 현상을 방지하는 방법에 대해 알아보도록 하겠습니다. RecyclerView.ItemAnimator animator = recyclerView.getItemAnimator(); if (animator instanceof SimpleItemAnimator) { ((SimpleItemAnimator) animator).setSup..

이번 시간에는 하나의 Adapter를 재사용하면서 여러개의 RecyclerView를 만들어 보겠습니다. 다음과같이 RecyclerView레이아웃을 만들 때 Adapter가 모듈로 정리되어있지 않을 경우라면 왼쪽에 있는 Adapter와 오른쪽에 있는 Adapter, 총 2개의 Adapter가 생겨날 것입니다. 규모가 작은 프로젝트의 경우 여러개 만든다고 해도 유지보수하기 수월하겠지만, 규모가 커질수록, RecyclerView를 많이 사용하게 된다면 Adapter의 양이 어마어마해져 유지보수를 하는데 어려움을 겪을 수 있습니다. 이번 시간에는 Adapter를 모듈화시키면서 유지보수하기 쉽고, 코드도 간결하도록 여러개의 Adapter클래스를 하나로 줄여보도록 하겠습니다. 상속받을 상위 클래스 생성 모듈화를 시..

이전 글에서 리사이클러뷰 사용법에 대해 설명을 했었습니다. 이번 글에서는 리사이클러뷰를 클릭했을 때 접고, 펼칠 수 있는 기능을 추가해 보도록 하겠습니다. 이전 글에서 만들어 놓았던 DataMovie클래스와 MainActivity클래스는 수정할 부분이 없으므로 생략하고 수정사항이 있는 부분말 적어놓도록 하겠습니다. DataMovie클래스와 MainActivity부분이 없으신 분들은 이전 글을 참조해주세요. 2019/12/19 - [Android/유용한 기술] - [Android/안드로이드] RecyclerView(리사이클러뷰) 뷰 재활용하기 [Android/안드로이드] RecyclerView(리사이클러뷰) 뷰 재활용하기 기존의 ListView는 커스터마이징 하기에도 힘들었고, 구조적인 문제로 성능상의 문..