Titanium의 ListView에 Android 지원 PullView가 없었기 때문에 만들었습니다.
역시 갱신 처리는 지금 PullView 사용하지 않는다고 생각하고 있었습니다만,
Titanium의 ListView는 Android에서 pullView를 사용할 수 없습니다.
지금은 iOS 전용입니다.
몇 가지 Widget도 있었지만 이번에는 스스로 만들어 보았습니다.
샘플이라는 것으로 ListView에는 Qiita로부터 취득한 json 데이터를 표시하고 있습니다. Qiita의 API는 인증 없이 사용할 수 있어 편리하네요.
소스는 여기입니다.
htps : // 기주 b. 코 m / 가네자 씨 / 아 y 푸 l
Android 버전
iPhone 버전
일단 iPhone판도 움직이도록 썼습니다.
PullView를 사용할 수 있는 Widget
Alloy-PullToRefresh
이쪽 꽤 좋은 것 같아서, 이번 사용해 보고 싶습니다.
iOS와 Android 모두에서 사용할 수 있습니다.
Alloy Pull to Refresh Widget
여기는 TableView의 Wiget입니다.
Future work에서 ListView라고 쓰여 있으므로 언젠가 대응해 줄 것입니다.
어떻게 만드는가? pull, pullend 이벤트는 Android에서 검색할 수 없으므로 touchmove와 touchend를 사용하여 pull, pullend 같은 작업을 수행합니다. listview의 scroll / touchstart 이벤트를 얻는 것을 포기합니다. ※여기 listview의 touchstrat는 취득할 수 없습니다만, 그 부모 View로부터는 취득할 수 있습니다. touchmove 이벤트에서 처음 터치한 시작점 결정 touchmove 이벤트 2회째 이후에서 Y축이 아래로 움직인 분, 부모 View를 아래로 옮긴다 touchend에서 임계값을 초과한 경우 업데이트 처리 touchmove 부분 var scrollableView_top = 50; //scrollableView의 기본 높이 var y = 0; // 현재 scrollableView 높이 // 스크롤한 분 scrollableView의 위치를 이동 $.scrollableView.addEventListener('touchmove', function(e) { // y가 0이 아닌 경우 두 번째 이후의 touchmove 이벤트 //scrollableView의 기본 높이보다 아래를 터치한 위치가 낮습니다. //이전 만진 위치보다 아래인지 확인 if(y != 0 && Number(e.y) > scrollableView_top && Number(y) <= Number(e.y)){ var top = 0; top = (Number(e.y) - Number(y))*0.1+scrollableView_top; Ti.API.info("top:"+String(top)); $.scrollableView.setTop(top); // 시작점 기록 }else if(Number(e.y) > scrollableView_top && Number(e.y) <300+scrollableView_top){ y = e.y; } }); touchend 부분 //PullView 처리 Android // 스크롤이 종료했을 때의 높이가 임계치 이상이었을 경우에 갱신 sy $.scrollableView.addEventListener('touchend', function(e) { // 현재 scrollableView의 높이 초기화 y = 0; var value = 'touchend fired x' + e.x + 'y' + e.y; Ti.API.info(value); var top = $.scrollableView.getTop(); // 현재 scrollableView의 높이가 임계값보다 높으면 업데이트 처리 if(top > 100 && Titanium.Network.online){ infoUpdate("update"); // 그렇지 않으면 아무 작업도 하지 않고 원래 위치로 되돌리기 }else{ $.scrollableView.animate({top: scrollableView_top+"dp", duration: 100}); } }); 요약 만들어 보면 간단했기 때문에, 여러가지 커스터마이즈 할 수 있다고 생각합니다. 소스는 여기가되므로 좋으면 사용해보십시오. htps : // 기주 b. 코 m / 가네자 씨 / 아 y 푸 l
이쪽의 내용은 얼마 전 Titanium도 쿠모쿠 공부회 21회에서도 이야기한 내용입니다.
그 때의 슬라이드는 이쪽
안드로이드의 PullView 샘플은 다른 것보다 적기 때문에,
아직 ListView가 사용되고 있지 않을까~라고 생각했습니다.
빨리 Titanium 측에서 Android에서도 pullView를 사용할 수있게되면 좋겠다 ~라고 생각합니다.
Reference
이 문제에 관하여(Titanium의 ListView에 Android 지원 PullView가 없었기 때문에 만들었습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ganezasan/items/70219afe26f99405e16a텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)