안드로이드/Android View 8

[Android] 뷰페이저안에 웹뷰안에 뷰페이저

ViewPager안에 WebView안에 ViewPager 뷰페이저 안에 웹뷰 터치 중복 [액티비티 뷰페이저] 안에 [프래그먼트]들 안에 [웹뷰]안에 [배너 페이저]가 있는데 [액티비티 뷰페이저]와 [웹뷰 뷰페이저]가 터치가 중복되는 문제가 생김. ViewPager 내부, webView 가 있는 경우, inApp 에 swipe 아이템 이 있는 경우의 이벤트 처리 - onTouchEvent(ACTION_DOWN) 에서 viewPager 의 paging 을 비활성화 처리 - onOverScrolled (inApp에서 swipe 처리 하지 않는 경우 호출됨) 에서 paging 을 다시 활성화 처리 뷰페이저 컨트롤러 클래스 생성 public interface ViewPagerController { void set..

리싸이클러뷰 기초

리싸이클러뷰 0.package준비 1)adapter 2)data 3)model 4)layout - activity.xml, item.xml 1.app단계의 build.gradle 추가 implementation 'com.android.support:appcompat-v7:28.0.0-rc02' implementation "com.android.support:recyclerview-v7:28.0.0-rc02" implementation "com.android.support:cardview-v7:28.0.0-rc02" implementation "com.github.bumptech.glide:glide:3.7.0" recyclerView, cardView, glide3가지 라이브러리를 추가해 줍니다. 이때 ..

[Android] DrawerLayout 숨겨있다가 액션 취하면 나타나는 기능

DrawerLayout 숨겨있다가 액션 취하면 나타나는 기능 -평소에는 화면의 한쪽에 숨겨져 있다가 사용자가 액션을 취하면 화면에 나타는 기능을 만들 수 있게 해주는 레이아웃 1. DrawerLayout자체가 화면에 나타나거나 사라지는 동작을 수행하는것으로 오해하면 안됩니다. DrawerLayout에 추가된 자식이 DrawerLayout의 영역 안에서 Drawer(서랍)와 같은 동작을 수행하도록 만들어 주는것이다. 그리고 DrawerLayout에 추가된 모든 자식들이 Drawer로 동작하는 것이 아니라는 사실에도 주의해야 합니다. 자식들 중 layout_gravity속성 값을 가지지 않은 자식은 기본적으로 표시되는 주화면으로 취급되고, layout_gravity속성 값을 가진 자식만이 Drawer로써 동..

[Android] Coordinatorlayout에 대해 알아보자

Coordinatorlayout에 대해 알아보자 1.AppbarLayout 단, api level 24이상에서는 support:design library가 포함되어이 있어서 바로 CoordinatorLayout을 추가해도 되지만 그 이하에서는 gradle 파일에 아래 dependency를 추가해 준다. CoordinatorLayout은 frameLayout처럼 parent view 역할을 한다. 이제 이 안에 적절한 view들을 넣어줄 차례인데, 가장 일반적으로 많이 쓰이는 Appbar를 한번 추가해보자. 참고로 Appbar는 api level 11부터 지원하는 Actionbar와 api level 21부터 지원하는 Toolbar를 포괄적으로 부르는 용어이다. CoordinatorLayout은 다음의 2..

[Android] Elevation (그림자 효과)

Android Elevation (그림자 효과) elevation은 API 21이상에서부터 적용되는 효과입니다. 해당 View를 Z축으로 이동하여 하단에 그림자가 깔리는 입체적인 효과를 줄 수 있도록 고안된 구글의 머테리얼 디자인입니다. 사용법 http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> 위와 같이 android:elevation에 값을 주면 됩니다. 이 값이 커지면 커질수록 Z축으로 더 멀어져 그림자가 커지게 됩니다. 그림자를 주기 위한 뷰의 BackgroundColor가 불투명이 아닌 어떠한 색을 가지고 있어야 그림자가 생긴다. 두번째로..

Android 뷰페이저2

# ViewPager 동작 ViewPager는 PagerAdapter 기반으로 구성되어있는데 스크롤을 진행할 때 마다 instantiateItem()와 destroyItem() 메서드가 호출 기존 뷰페이저의 문제 뷰페이저가 버벅인다 -> 고안해낸 방법이 PagerSnapHelper를 이용해서 RecyclerView로 해결 하였다고 한다. PagerSnapHelper RecyclerView를 집어넣고 Pager의 느낌을 내기 위하여 PagerSnapHelper를 이용하여 해결 확장이 어렵고 cost가 든다. 결국 ViewPager2가 나왔다. RecyclerView의 장점을 가지고와서 만듬. ViewPager2에서 어댑터를 만들 때 RecyclerView.Adapter를 이용해서 만들어 준다. ViewPa..