안드로이드 개발 질문/답변
(글 수 45,052)
Gallery 에서 좌우로 한장씩 넘길때
onKeyDown(KeyEvent.KEYCODE_DPAD_LEFT, null);
를 사용 했는데요.. 한장은 잘 넘어가는데 두번째부터 넘어가질 않습니다..
onKeyDown(KeyEvent.KEYCODE_DPAD_RIGHT, null); 를 한번 호출해준 후에
다시 onKeyDown(KeyEvent.KEYCODE_DPAD_LEFT, null); 를 호출하면 이때는 작동 하는데 말이죠;
그래서 계속 같은장만 왔다갔다 밖에 할 수 없습니다 =_=; ㅋㅋ
onKeyUp 으로 Down 후 다시 Key를 풀어줘도 그러네요
이거 왜 그런지 아시는 분 계신가요~~~??




Gallery 소스 분석 후 자답
========================
onKeyDown을 이용해 페이지 슬라이딩시 getFirstVisiblePosition 내에 속하는 이미지만 슬라이딩이 가능한데
Gallery 내부 view의 LayoutParam 을 FILL_PARENT로 하여 한장씩만 VisiblePosition 이 되기 때문에 페이지를 넘길 수 없어
dispatchTouchEvent로 일정부분 드래그하여 VisiblePosition으로 만든 후 onKeyDown 이벤트를 이용하여 처리하였음
dispatchTouchEvent로 페이징 애니메이션을 모두 처리하여도 상관 없으나 onKeyDown을 그냥 사용하는것이 코드가 더 간결함.
끝.