본문 바로가기
IT/Android

Kotlin] 안드로이드 뷰 확대하기, 늘리기 // Pinch zoom

by 깻잎쌈 2021. 3. 18.
반응형

뷰를 확대해봅시다

손가락으로 늘리고 줄이고~

 

private var scaleGestureDetector: ScaleGestureDetector? = null
private var scaleFactor = 1.0f

....

override fun onTouchEvent(event: MotionEvent?): Boolean {

        scaleGestureDetector?.onTouchEvent(event)
        return true
}

inner class ScaleListener : SimpleOnScaleGestureListener() {
        override fun onScale(scaleGestureDetector: ScaleGestureDetector): Boolean {

            scaleFactor *= scaleGestureDetector.scaleFactor

            // 최소 0.5, 최대 2배
            scaleFactor = max(0.5f, min(scaleFactor, 2.0f))

            // 리사이클러뷰에 적용
            recyclerView.scaleX = scaleFactor
            recyclerView.scaleY = scaleFactor
            return true
        }
}

 

리사이클러뷰 초기화하는 곳에서 아래 코드 추가 

 scaleGestureDetector = ScaleGestureDetector(this, ScaleListener())

 

더 공부해야합니다...


라이브러리가 짱.

 

ZoomLayout

A collection of Android components that support zooming and panning of View hierarchies, images, video streams, and much more.

natario1.github.io

 

Pinch zoom for custom view

I have created my custom view and I want to apply pinch zoom for my custom view. How to do that?

stackoverflow.com

 

[boost course] 핀치 줌, 아웃 구현하기

두 손가락을 이용해 이미지를 확대 축소하는 기능을 라이브러리 없이 구현하는 방법이다. ScaleGestureDetector를 이용한다 공식홈링크이미지 뷰 생성확대할 이미지뷰를 xml파일에 생성한다.<imageviewan< p=""> </imageviewan<>

elliot-kim.github.io

 

 

 

ScaleGestureDetector.OnScaleGestureListener  |  Android 개발자

 

developer.android.com

 

드래그 및 확대  |  Android 개발자  |  Android Developers

이 강의에서는 터치 이벤트를 가로채는 onTouchEvent()를 통해 터치 동작을 사용하여 화면에서 객체를 드래그하고 확장하는 방법을 설명합니다. 객체 드래그 Android 3.0 이상을 타겟팅하는 경우 드래

developer.android.com

 

반응형

댓글