안드로이드 코틀린 MotionLayout setTransitionListener ~ Android Kotlin MotionLayout setTransitionListener
2021. 5. 29. 20:24
[# 2]…My DevelopStory
안드로이드 코틀린 MotionLayout setTransitionListener Android Kotlin MotionLayout setTransitionListener 안드로이드 개발을 하면서 여러가지 애니메이션 효과를 넣어야 한다. 이 때마다 일일이 코드로 구현하느라 간단하 애니메이션을 쓰더라도 코드량이 많아지는 경험이 분명 있을 것이다. 이에따라 구글에서 MotionLayout을 제공하는데 나온것에 비해 나도 이제 처음 써본다. MotionLayout은 따로 implementation없이 constraintLayout에 포함되어 있다. 이 중 각각 액티비티에 만들어진 MotionLayot을 붙여야 하는 경우가 있는데 이 때 setTransitionListener을 사용하면 된다. 이 전에 각각 mo..
안드로이드 RecyclerView 포커스 버그 ~ Android RecyclerView Focus Bugs
2021. 4. 24. 20:25
[# 2]…My DevelopStory
안드로이드 RecyclerView 포커스 버그 Android RecyclerView Focus Bugs 안드로이드 개발자라면 제일 많이 사용하는 게 RecyclerView라고 단연 말할 수 있다. 이것만큼 작은 화면에 많은 걸 담을 수 있는게 없으니 당연히 가장 많이 사용할 것이다. 개발을 하다 보면 Recyclerview 안에 Recyclerview를 넣어서 사용을 해야할 경우가 있는데, 간혹 동작 시 최초 동작 시 Recyclerview의 포커스가 움직여 스크롤이 내려가는 현상을 볼 수 있다. 이는 RecyclerView의 하나의 버그 혹은 이슈정도이며 이 문제를 알 고 있듯이 간단하게 해결할 수 방법을 제시하고 있다. 코드 한줄이며 심지어 xml에서 수정할 수 있다 위 코드는 Recyclerview..
안드로이드 코틀린 DialogFragment full screen & statusbar ~ Android Kotlin DialogFragment full screen And statusbar
2021. 3. 17. 22:03
[# 2]…My DevelopStory
안드로이드 코틀린 DialogFragment full screen & statusbar Android Kotlin DialogFragment full screen And statusbar 안드로이드에 프레그먼트를 dialog처럼 쓸 수 있게 기본적으로 DialogFragment를 상속받아서 만들 수 있다. 이 때 이 fragmentDialog를 full screen을 적용할 수 있다. override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setStyle(STYLE_NO_TITLE, R.style.FilterFullScreenDialog) } onCreate를 오버라이딩해서 만든 후 setStyle으로 ..
안드로이드 코틀린 GridLayoutManager spanSizeLookup 이용하기 ~ GridLayoutManager centerHorizontal
2021. 3. 15. 00:22
[# 2]…My DevelopStory
안드로이드 코틀린 GridLayoutManager spanSizeLookup 이용하기 GridLayoutManager centerHorizontal 안드로이드에는 격자레이아웃을 기본으로 제공해 주는데 Recyclerview 에도 격자를 제공해 준다. 이는 주어진 카운터만큼 알아서 자리를 차지해 뷰를 그려주고 나머지는 바로 아래에 같은 방법으로 그려준다. 그리고 각 라인마다 혹은 주어진 카운터 마다 위치를 위치를 바꿀 수 있는데 이는 spanSizeLookup 을 이용해야 한다. 일단 나는 아래 이미지와 같은 형식의 Gridlayout을 원했다. 마지막 나머지가 2개일 때는 2개가 가운데로, 1개일 때는 1개가 가운데로 오기를 원했다. Recyclerview이며 layoutmanager은 GridLayou..
안드로이드 zoom in/zoom out lib photoview ~ Android zoom in/zoom out lib photoview ~ viewpager photoview
2021. 3. 14. 23:23
[# 2]…My DevelopStory
안드로이드 zoom in/zoom out lib photoview Android zoom in/zoom out lib photoview Viewpager photoview 안드로이드에서 손가락 두개로 멀티 터치를 하여 확대와 축소(Zoom in/ Zoom out)할 수 있는 것을 자주 볼 수 있는데, 이를 제공해주는 아무 유명한 라이브러리가 있다. PhotoView 라는 라이브러리로 아마도 zoom in/zoom out이라면 다 이 라이브러리를 쓰고 있지 않을까 싶다. 라이브러리 제작자 조차 꾸준한 업데이트를 하고 있어 아주 믿음직 스럽다. 라이브러리 깃허브는 아래와 같다. github.com/Baseflow/PhotoView Baseflow/PhotoView Implementation of ImageV..
안드로이드 webView javaScript value 값 입력 ~ Android WebView javaScript Value
2021. 3. 10. 23:34
[# 2]…My DevelopStory
안드로이드 webView javaScript value 값 입력 Android WebView javaScript Value 안드로이드에는 webView가 있으며 웹뷰는 어느 정도 컨트롤이 가능하다. 하지만 네이티브 영역이 아니기에 웹 영역에 버튼이나 텍스트를 입력할 수 없다. 이를 해결할 수 있는 방법으로 javaScript를 이용할 수 있다. value값 입력 및 button 클릭 동작을 할 수 있다. @Override public void onPageFinished(WebView view, final String url) { super.onPageFinished(view, url); String script = "javascript:document.getElementById('id').value='v..
안드로이드 파이어베이스 TestLab - Android FireBase TestLab ~ Robo Test
2021. 3. 7. 13:07
[# 2]…My DevelopStory
안드로이드 파이어베이스 TestLab Android FireBase TestLab ~ Robo Test 파이어베이스(FireBase)에 앱 운영에 유용한 많은 것들을 제공한다. 구글에서 제공해 주는 것이다 보니 많은 사람들이 신뢰있게 사용하고 있다. 그 중에서도 파이어베이스 TestLab을 소개하려고 한다. 안드로이드 테스트는 라이브러리와 테스트 코드를 이용하여 테스트를 할 수 있는데, 파이어베이스 TestLab을 사용하면 따로 적용이나 설치할 것 없이 APK만 업로드하면 어느정도 UI테스트를 자동으로 할 수 있다. 이것이 Robo테스트이다. 사용자 인터페이스 경험을 시뮬레이션하여..자동으로 탐색 및 테스트를 진행한다고 한다. 하지만 장점이 있지만 그에 반홰 문제점이 여러모로 많다. 장점 - 다양한 기기..
안드로이드 앱 설치유무 확인 ~ Android App Install Check
2020. 12. 28. 22:44
[# 2]…My DevelopStory
안드로이드 앱 설치유무 확인 Android App Install Check 안드로이드 개발을 하면서 다른 앱의 설치유무를 확인해야 할 때가 있다. 예를 들어 결제를 해야 하는데, 해당 결제 앱이 설치되어 있나 확인 등이 대표적인 사례이다. 앱 설치확인은 package name으로 Intent를 사용하여 확인이 가능하다 Intent intent = context.getPackageManager().getLaunchIntentForPackage("com.instagram.android"); 예시는 인스타그램이다. 핸드폰에 인스타가 설치 되어 있지 않다면 intetn는 null로 나온다. 이 package name은 플레이스토어에 들어가서 인스타그램을 검색 후 들어가면 확인이 가능하다. play.google...
안드로이드 코틀린 스와이프 메뉴 구성 ~ Android Kotlin Swipe Menu
2020. 12. 22. 13:16
[# 2]…My DevelopStory
안드로이드 코틀린 스와이프 메뉴 구성 Android Kotlin Swipe Menu 모바일 특성상 작은 화면에 많은 것을 보여주어야 하기 때문에 메뉴나 삭제와 같은 작은 동작들은 숨겨놓고는 한다. 그래서 대체로 자주 보이는 기능이 클릭을 하였을 때 펼쳐지는 메뉴 혹은 스와이프를 했을 때 나오는 메뉴 기능이다. 구현은 Recyclerview에다가 구현을 하였으며, 꼭 Recyclerview에다가 할 필요 없을 것이다. 라이브러리는 사용하지 않고 ItemTouchHelper를 사용하여 구현한 자료를 참고로 만들어 보았다. 사실 참고라기엔 중간에 망쳐서 다 가져다 썼다.. 일반 Recyclerview와 코드는 같고 item의 레이아웃만 뒤에 가려져 있는 스와이프 했을 때 나올 메뉴를 겹쳐서 만들어 놓아야 한다..
안드로이드 텍스트 뷰 다국어 간격 변경 ~ Android Textview fallbacklinespacing
2020. 12. 11. 00:19
[# 2]…My DevelopStory
안드로이드 텍스트 뷰 다국어 간격 변경 Android Textview fallbacklinespacing 안드로이드 28부터 다국어간 간격이 달라지는 현상을 볼 수 있게 되었다. 이는 버그가 아니라 구글측에서 적용한 것으로 수정도 xml상에서 가능하다. 그러나 다국어간 간격이 틀어져서 레이아웃이 조금 안맞는 현상은 모든 핸드폰에서 나오는 것이라 아니라 특정 폰에서 나오고 있으며, 확인할 수 있던 기기는 LG V40, 픽셀폰에서 볼 수 있었다. android:fallbackLineSpacing = "false" textview에서 fallbackLineSpacing를 false로 셋팅하면 모든 언어간 간격이 동일해 진다.