본문 바로가기
반응형

Development/Android55

[android] 사용하지 않는 리소스(Unused resources) 삭제 Android Studio 에서 사용하지 않는 리소스를 삭제하는 기능을 스튜디오 2.0(In Android Studio 2.0+) 부터 메뉴로 제공하고 있습니다. 2022. 5. 11.
[android] touch event flow 슬라이딩 다이얼로그 개발을 하다 기억에서 잊혀졌던 터치 흐름도를 정리 합니다. 처음에 단순히 애니메이션을 이용해 뷰를 이동하는 간단한 작업이라고 생각했으나 뷰안에 컨트롤이 올라가니 생각되로 움직이지 않았습니다. 컨트롤이 이벤트를 먹고 있구나... 그럼 어떻게 해야하지? 순간 생각이 나지 않았습니다. 터치 이벤트를 오랜만에 검색해 봤습니다. 아... dispatch... onIntercept... OnTouch... 예전(7~8년)에는 컨트롤들을 직접 개발해서 사용하는일이 많았으나 요즘은 대부분 오픈소스를 활용해서 까먹고 있었네요 ㅜ 검색하던 중 정리가 잘된 블로그와 예제를 발견했습니다. 블로그 https://medium.com/mobile-app-development-publication/understa.. 2022. 5. 6.
[android] 안드로이드 필요한곳만 라운드처리하기 일반적인 방법으로는 XML(shape) 작성 -> 라운드 처리가 필요한 뷰의 background설정 -> 자녀 뷰가 코너를 가리는 경우 clipToOutline을 true로 설정한다 하지만 원하는 코너만 사용하고 싶을때는? Shape의 Corners는 topRightRadius와 같이 4방향의 설정값을 지정하지만 실제로 적용되지 않는다. 검색을 하니 View의 outlineProvider를 설정하여 Outline의 Rect를 직접 설정하는 방법이 있었다. 이 방법은 Rect를 설정함에 따라 원하는 코너만 적용할 수 있었다. fun View.roundTop(@DimenRes dimen: Int) { val radius = context.resources.getDimensionPixelSize(dimen) .. 2022. 4. 26.
[android] ViewPager2 setOnTouchListener ViewPager2에 터치 이벤트가 발생하지 않습니다. ViewPager2에 터치이벤트로 처리해야 할 일이 간혹 발생합니다. 뷰에 터치 이벤트처리르 위해 setOnTouchListener를 설정하는데 ViewPager2는 직접 설정하면 이벤트가 발생하지 않아 자식인 RecyclerView에 설정해야 합니다. pager.getChildAt(0).setOnTouchListener(pageOnTouchListener) 적용 후 실행했는데 ACTION_DOWN이 발생하지 않아 오동작이 발생했습니다. 원인은 onBindViewHolder에서 특정 뷰에 onClick이벤트를 달았는데 이것 때문에 이벤트가 제대로 전달되지 않았습니다. 현재 개발중인 프로젝트에는 ViewPager 안에 별도 컨트롤이 없고 이미지 하나뿐.. 2022. 4. 26.
반응형