아래와 같이 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);
}
댓글 없음:
댓글 쓰기