이 블로그 검색

2011년 11월 7일 월요일

스크롤 뷰 막기

아래와 같이 onScrollChanged 를 오버라이딩 한다.

@Override      //스크롤 막음
public void onScrollChanged(int x, int y, int x2, int y2){
Util.log(" x-position = " + x + " this.getWidth() = " + this.getWidth() );
if(x < this.getWidth()){
scrollTo(0, 0);
return;
}
}

가로뷰였는데, 그래서 x좌표가 this.getWidth() 즉 해당 뷰의 가로 크기보다 작을 때, 
바로 scrollTo(0,0) 로 박아주었더니 가로 스크롤이 안 움직임. 
세로 뷰 같은 경우는 y와 getHeight()를 쓰면 될 듯.

또 한가지 방법. 
onTouchEvent()를 이용 - 특정 조건에 해당하면 바로 return 한다.


public boolean onTouchEvent(MotionEvent ev) {      // 데이타가 없는 경우 스크롤 안되게 고정.
if (WishListActivity.wishListDataArr.get(0).getTitle().equals(""))  // 데이터가 없을 조건 
                   return false;
else 
                   return super.onTouchEvent(ev);
}

댓글 없음:

댓글 쓰기