7

진저 브레드 버전으로 드래그 & 드롭을 구현할 수있는 방법을 알아야합니다. Gingerbread는 기본적으로이를 지원하지 않습니다.진저 브레드에서 드래그 앤 드롭 구현

내가 코딩 한 내용 : 동적 추가 자식을 유지하는 클래스 ViewGroup, 각 자식은 긴 클릭 후 이동해야합니다. 손가락으로 탭/이동을 통해 이동할 수 있어야합니다. 이 문제를 해결하기 위해 각 의 자식에 OnLongClickListener이 연결되어 있고 ViewGroup에는 아래쪽/위/아래 이벤트를 가져 오는 onTouch() 메서드와 각 자식에 대한 긴 클릭에 대한 응답 onLongClick() 메서드가 모두 구현되어 있습니다.

이제 내 문제는 다음과 같습니다. 아이를 길게 터치하고 이동할 수 있으며 ACTION_UP 이벤트를 통해 작업을 종료 할 수 있습니다. 그러나, 나는이 아이를 다시 태핑 할 수 없다 - 그것을 처리 할 수있는 방법이나 도서관이 있는가?

나는 나는 단지 몇 가지 아이콘을 주문하기 때문에 내가 정말 D & D 라이브러리/기능을 필요로하지 않는, 생각이 ViewGroup - 각 자녀 코드를 통해 ViewGroup에 추가됩니다, 그래서 정말 DropTarget에없는 나는 생각한다.

+0

나는 다음과 같이 문제를 해결했습니다. 1.) 각 자식에게 OnLongClickListener의 새 인스턴스를 갖게하면 부모가 LongClick 이벤트에 응답하지 않습니다. 2.) onTouch() 이벤트에서 올바른 값 (true/false)을 반환하십시오. – Andreas

+0

일부 코드 plz를 공유 할 수 있습니까 – Vivekanand

답변

0

This 예가 도움이 될 수 있습니다. 이 예제에는 3.0 이전을위한 완벽한 드래그 앤 드롭 프레임 워크가 있습니다. 또한 기본적으로 "삭제 된 자식 드래그"로 요청하는 기능입니다.

0

프로젝트를 https://github.com/thquinn/DraggableGridView에서 확인하십시오. 이 코드는 정말 나를 도왔습니다.

DraggableGridView 클래스의 onLayout()onTouch()을 따르십시오. 이것이 도움이되었거나 도움이되지 않았다면 알려주십시오. ViewGroup에 대한 귀하의 상황과 매우 유사하며보기를 추가합니다.

+0

이 정보가 도움이 되었습니까? – WilliaGuy