본문 바로가기

[Android]

(49)
Xml에서 tools는 도데체 무엇인가? 안녕하세요! 허접샴푸입니다. 이런저런 안드로이드 개발을 하다보면 xml 파일에 "tools"라는 놈을 본적이 있을 것입니다. 아래 사진처럼, MainActivity의 layout 파일인 activity_main.xml을 보다보면 xmlns:tools="http://schemas.android.com/tools" tools:context=".MainActivity" 이런 것들을 볼 수 있습니다. 저도 몰랐으며 방금 알게 된 tools에 대해 알아보도록 합시다! [START] 참조 : https://developer.android.com/studio/write/tool-attributes 1) 일단 tools는 namespace이며 design-time (디자인 타임) 속성이라고 합니다. 2) 실제로 앱이 ..
[Android Core] Snackbar 파해치기 3편 안녕하세요! 허접샴푸입니다~! Snackbar에 대해 알아보겠습니다. 대망의 마지막편인 3편입니다. 이번 3편에서는 - SnackBar 과 Coorindatorlayout관의 관계 에 대해서 알아보도록 하겠습니다. 왜 CoordinatorLayout? Material Design 공식 사이트에서 아래와 같이 기술해 놓았습니다. NOTE: Snackbars work best if they are displayed inside of a CoordinatorLayout. CoordinatorLayout allows the snackbar to enable behavior like swipe-to-dismiss, as well as automatically moving widgets like FloatingAc..
[배달의 민족] 따라만들기 7편 (DrawerLayout, Customization) 안녕하세요 허접샴푸입니다~! 배달의 민족 따라만들기 7편입니다! 이번 시간에 알아볼 것은 바로 아래와 같습니다. - DrawerLayout [자료] 위와 같이 왼쪽에서 슬라이드되는 서랍레이아웃 즉 DrawerLayout에 대해 구현해보도록 하겠습니다. 이번 편은 XML 위주의 따라하기 입니다. 참조: https://developer.android.com/reference/androidx/drawerlayout/widget/DrawerLayout DrawerLayout | Android 개발자 | Android Developers From class android.view.ViewGroup void addChildrenForAccessibility(ArrayList arg0) void addFocusabl..
[배달의 민족] 따라만들기 6편 (Android Animation, NestedScrollView SmoothScrollTo, Kotlin Extension Function) 안녕하세요 허접샴푸입니다~! 배달의 민족 따라만들기 6편입니다! 이번 6편에서는 전체 Main 레이아웃을 완성시켰습니다. 이번 시간에 알아볼 것은 바로 아래와 같습니다. - ScrollView Animation [자료(구현할 것)] 1. 5편 이후로 나머지 Layout을 완성시킨 다음, 아래 GIF 보면, "자세히보기"를 눌렀을 때 여러 글이 적혀져 있는 Layout이 Animation을 이용하여 스르륵 나타났다가, "닫기"를 누르면 다시 스르륵하고 사라집니다. 이 부분을 구현해보도록 하겠습니다. [참고] 절대 실제 배달의 민족 App과 똑같이 구현하는 것이 아닌 최대한 비슷하게 구현하는 것이 목표입니다. 제가 고수였으면 100프로 똑같이 구현할텐데... 너그럽게 봐주십시오... LETS GO! [시작]..
[Android Core] Snackbar 파해치기 2편 안녕하세요! 허접샴푸입니다~! Snackbar에 대해 알아보겠습니다. 2 편입니다. 이번 2편에서는 (1) 메세지에 작업 추가하기 (2) Snackbar 커스터마이징 하기 (3) 나머지 프로퍼티 [알아보자] (1) 메세지에 작업 추가하기 위 그림을 보면 "RETRY"라는 보라색의 글자를 확인할 수 있습니다. Snackbar에 작업을 추가하면 저렇게 메시지 텍스트 옆에 버튼이 생깁니다. 버튼을 누르면 작업 또한 트리거할 수 있습니다. 출처: https://developer.android.com/training/snackbar/action - setAction()을 통해 버튼에 원하는 문구와, 버튼을 눌렀을 때 트리거를 적용할 수 있습니다. 저는 단순히 버튼을 "눌러"라고 표시하게 해놓았으며, 그 "눌러" ..
[배달의 민족] UI 따라만들기 5편 (ObjectAnimator, Layout Animation, CoroutineScope) 안녕하세요 허접샴푸입니다~! 배달의 민족 따라만들기 5편입니다! 이번 5편에서는 잠시 쉬어가기 느낌으로 Animation을 구현하도록 하겠습니다. (얻어갈 수 있는 것 - 제 마음대로 끄적인...) - ObjectAnimator - LayoutAnimation - CoroutineScope [자료(구현할 것)] 1. 아이콘들이 Animation에 따라 화면에 나타납니다. (아래에서 위로, RecyclerView에 Animation을 적용하고자 합니다. 이미지 배너 아래에서 위로 Animation은 다루지 않습니다.) 2. ImageView Animation(덜컹덜컹 Animation) [참고] 절대 실제 배달의 민족 App과 똑같이 구현하는 것이 아닌 최대한 비슷하게 구현하는 것이 목표입니다. 제가 고수..
[배달의 민족] UI 따라만들기 4편 (NestedScrollView, RecyclerView, GridLayoutManager, ViewModel, Livedata, and etc) 안녕하세요 허접샴푸입니다~! 배달의 민족 따라만들기 4편입니다! 4편에서는 Grid 형태의 RecyclerView를 구현하도록 하겠습니다. (얻어갈 수 있는 것 - 제 마음대로 끄적인...) - Grid RecyclerView - NestedScrollView - 둥근 Rectangle - Custom Layout [자료] 위처럼 둥근 모서리의 사각형 안에 Grid 형태의 RecyclerView를 만들어보도록 하겠습니다. 보너스로 "우리동네 맛집 검색" Layout 또한 만들어보도록 하겠습니다. LETS GO! [시작] (1) GridItem 생성 - 1편에서 이미지 배너를 위해 BannerItem 객체 클래스를 만든 것처럼 이번에도 GridItem이란 객체 클래스를 만들어줍니다. (2) FakeItem..
[배달의 민족] UI 따라만들기 3편 (Viewpager2, Coroutine, LifecycleScope) 안녕하세요 허접샴푸입니다~! 배달의 민족 따라만들기 3편입니다! 3편에서는 자동으로 스크롤 되는 ViewPager2에 대해 알아 보도록 하겠습니다. 구글에서 밀고 있는 Coroutine을 사용하도록 하겠습니다. [자료] 지난 2편에서는 좌우로 Swipe 되는 이미지 배너를 구현하였죠? 이번 편에서는 좌우로 손을 대지 않아도 알아서 Swipe 되도록 하겠습니다. 잘 아시겠지만 자동이라고 하면 결국 thread 를 사용해야 하는데 구글에서 권장하고 있는 놈이 바로 Coroutine입니다. 즉 유저는 앱을 사용하고 있으면서, 이미지 배너는 자동으로 Swipe 되는 비동기 처리가 되어야 합니다. 이에 적합한 것이 바로 Coroutine 입니다. 그리고 LifecycleScope를 사용하여 편하게 만들어 보도록 ..