사용자가 드래그를 시작하자마자 드롭 대상을 표시하거나 추가하려고합니다.드래그 시작시 드롭 대상 표시
설명서에 ACTION_DRAG_STARTED
을 수신했을 때 onDrag
으로 처리해야한다고 설명되어 있으므로 View
을 드래그를 허용 할 수있는 것으로 강조 표시하는 데 사용할 수 있습니다.
그러나 내보기 (실제로는 LinearLayout
)는 끌기가 없을 때 달라야하고 끌기가 시작될 때 놓기 표적을 표시해야합니다.
일반보기 :
[Item A][Item B]
드래그가 같아야 시작 : 빈 괄호가 드래그 드롭 할 수 위치를 나타냅니다 어디
[ ][Item A][ ][Item B][ ]
.
나는 이것을 달성하기 위해 다음과 같은 일을 시도했다 :
1) 동적 동적 뷰
최상위 컨테이너가 ACTION_DRAG_STARTED
를 수신를 추가 드롭 타겟 뷰를 추가 할 수 있습니다. 문제 : 새로 추가 된 조회수는 자신 (또는 다른 이벤트) 인 ACTION_DRAG_STARTED
을받지 못하므로 드롭을 수락 할 수 없습니다.
if(event.getAction() == DragEvent.ACTION_DRAG_STARTED) {
// Make all containers visible:
for(int i = 0; i < cc.getChildCount(); i++) {
cc.getChildAt(i).setVisibility(View.VISIBLE);
}
}
문제 :
2) 숨겨진 드롭
항상 사용할 수있는 실제 항목의 모든 시간 사이에 View.GONE
드롭 목표를 가지고 있고, 드래그를 시작할 때 단지 그들에게 View.VISIBLE
을 대상으로 : 외관상으로는 View.GONE
는보기가 이벤트를받지 않음을 의미합니다. View.INVISIBLE
과 같은 것.
내 옵션은 무엇입니까? 드래그 시작/끝 때 일부 View.VISIBLE
및 동적 크기 조정을 어떻게 사용합니까? 정말 어리석은 것 같습니다 ...
더 좋은 제안이 있습니까?
동적으로보기를 끌어 오는 수신기와 함께 동적으로 추가 할 수 있습니다. 여기에 onClick Listener를 사용하여 onClick Listener로 변경해보세요. http://stackoverflow.com/questions/8722595/how-to-add-onclicklistener-to -dynamically-generated-text-view/8722685 – Radwa