분류 전체보기 113

[Android]Table Scroll(Vertical, Horizontal 스크롤 동시에 하기)

안드로이드에서 엑셀 처럼 스크롤을 하기 위해서는 기본제공하는 ScrollView에서는 불가능하다. 그래서 하게된 편법. Touch Event를 받아서 제어하는 방법이 있다. 위의 화면은 아래와 같이 구성되어 있다. ScrollViewTableLayoutHorizontal ScrollViewTableLayoutScrollView Horizontal ScrollVIewTableLayou 총 4개의 스크롤 뷰로 구성되어 있는데 사용자가 화면을 Touch 한 좌표를 구해서 움직인 만큼 스크롤뷰도 함께 움직여 주는 것이 핵심이다. 순서는 아래와 같다.XML 또는 동적으로 스크롤뷰 4개 만들기Touch Event Listener 만들기Touch Event를 받아서 각각의 ScrollView에 좌표 전달해주기 - O..

Programming/Android 2012.04.20

[Sencha touch1.1] Store를 이용해서 localStorage에 데이터 업데이트

Sencha Touch 1.1에서 아래와 같이하면 로컬스토리지에 동기화가 되지 않는다.. var aRecord = aStore.getAt(0) aRecord.set('fieldName', '!!!!!!'); aStore.sync(); 하지만 아래와 같이 setDirty를 해주게 되면 dirty 값이 true로 바뀌게 되고 Store는 sync()를 통해 localStorage 와의 동기화를 하게 된다. var aRecord = aStore.getAt(0) aRecord.set('fieldName', 'updated data'); aRecord.setDirty(); aStore.sync();

TextView에서 터치된 영역의 Offset 가져오기

Ebook 관련 API들을 만들고 테스트하는 도중, Select에서의 블록이나 하이라이트와 관련해서 터치된 영역이 문자열의 어느 부분인지 구하는 로직이 필요했습니다. 물론 Paint를 써서 대충 계산하면 어느정도 맞출 수는 있지만 문자 사이즈에 의해 정해져있는 세로와는 달리 가로는 폰트마다 가변적인 사이즈를 가지고 있기 때문에 폰트마다 일일히 계산해주지 않으면 안 되는 상황에 봉착했습니다. (예전에는 폰트 매트릭스를 읽어와 일일히 계산해주었다는군요) 그러다가 웹서핑 도중 유용한 녀석을 발견해서 정리해놓습니다. 아직도 모르는 게 너무도 많아서 문제군요 public int getOffset(TextVIew text, MotionEvent event) { // 터치 좌표를 int형으로 바꿔준다. int pos..

Programming/Android 2011.08.24