Scroller는 View같은 것이 아니고 그냥 단순히 계산기이다. ScrollView나 Listview, RecyclerView 등에서 사용자가 손가락튕기기(플링?)을 한다던가 하면, 화면이 움직이는 데, 이 화면의 움직임이 시작시에는 빠르게 움직이다가 끝날 때 쯤은 천천히 멈추는 경우가 많다. 이런 것들을 Elastic Ease라고 하는데, 이 걸 산수로 현재의 보여질 위치를 계산해 내야한다. 수학을 잘하는 사람이야 쉽게 만들 수 있지만, 초보자 특히 수포자들에게 이 작업은 그리 쉽지는 않다. 안드로이드에서는 이 작업을 바로 할 수 있게 Class를 하나 제공해 주고 있다. Scroller라는 Class인데, 워낙 스크롤할 때 많이 써서 이런 이름이 붙은 듯하다. 스크롤 이외에도 사용처는 많으니 이 ..
이전편에서 설명한 Touch만으로는 단순한 작업만이 가능하다. 터치를 추적해서 이동을 한다거나, 클릭정도만 처리가 가능하기 때문에, 페이지를 넘긴다든지, 천천히 스크롤을 한다든지하는 사용자의 편의성을 위해 제공하는 제스처들을 바로 처리할 수 있게 만들어 두었다. 실제, 이 것을 일일이 만든다는 것은 쉬운일이 아니다. 특히 손가락을 튕기는 fling의 경우는 정말 만들기 어렵다. 터치점들을 일일이 추적하여 산수공식에 넣고, 기기마다 일일이 테스트를 거쳐야 하기 때문에, 수많은 시행착오를 거치다 못해 포기하는 경우가 다반사다. 구글은 이 작업을 쉽게 할 수 있게 미리 만들어 두었다. (땡큐 구글~) 이번 글에서는 click, fling, scroll, longpress등을 다루게 될 것이다. 기본적으로 지원..
안드로이드의 Touch를 다루기위해서는 다음의 내용을 이해하여야 별 어려움없이 만들 수가 있다. 그냥 이리저리 만들어 동작할 수있게 만드는 것은 그리 어렵지는 않지만, 앱을 만들다 보면 결국 제대로된 동작과 부드러운 움직임을 위해 아래목록의 내용을 다시 다 작업을 해야하는 경우가 다반사다. 따라서 관련된 내용을 이 곳에 모두 정리한다. 제목 내용 onTouch와 onTouchEvent 터치의 기본사항을 설명한다. GestureDetector 기본 제스쳐를 다룬다.( GestureDetector.SimpleOnGestureListener ) Scroller 이동속도에 따라 화면에 움직이는 위치를 계산한다. Velocity Tracker 손가락의 이동속도를 다룬다. GestureDectector와 Scale..
안드로이드에서 사용자가 Touch를 할 경우 그에 상응하는 동작을 필요에 따라 만들어 넣어야 한다. 이 Touch다루는 법을 전체적으로 다루려고 한다. 간단한 것은 어렵지 않게 만들 수 있지만, 때로는 상당히 복잡하여, 정확한 이해가 필요하기 때문에, 이렇게 차근차근 정리하기로 한다. 내용이 앞과 뒤가 서로 서로 엮여있는 방식이라 여러번 반복해서 읽어야 한다. 안드로이드의 View는 터치이벤트를 받을 수 있고, Activity도 터치이벤드를 받을 수 있다. View에 이 이벤트를 처리하려면 2가지의 방법이 있는데, 한가지는 View가 기본적으로 가지고 있는 onTouchEvent를 오버라이드하는 것, 다른 한가지는 setOnTouchListener()함수를 통하여 인터페이스가 적용된 객체를 지정하는 방법..
- Total
- Today
- Yesterday
- choreographer
- OpenGL ES
- 안드로이드
- 전기료
- 블로그
- OpenGLes
- 애드센스
- 컴퓨트셰이더
- Android
- 적금
- texture
- 금리
- gpgpu
- 애드핏
- 에어콘
- 사용료
- 재테크
- 예금
- 공유 컨텍스트
- 전기세
- 전기요금
- 재태크
- TTS
- 에어컨
- ComputeShader
- 텍스처
- 티스토리
- 컴퓨트쉐이더
- 아끼는 법
- 경제보복
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |