본문 바로가기

개발도구/aOS - 안드로이드 개발

[안드로이드] HorizontalScrollView 의 좌표, value 값 알아내기

HorizontalScrollView  은 scrollview 처럼 onScroll을 사용할수 없다.
단호하게 이틀을 걸쳐 검색하고 소스에 별짓을 다 해봤지만, 먹지를 않는다.
아래와 같은 소스를 이용하여 
HorizontalScrollView 에 좌표값 과 그 스크롤의 최대값을
찾아낼 수 있다. 그 후 
 원하는데로 소스를 만들면 좋을거 같다.
final HorizontalScrollView hs = (HorizontalScrollView)findViewById(R.id.scroll);

ViewTreeObserver vto = hs.getViewTreeObserver();
vto
.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
   
@Override
   
public void onGlobalLayout() {
        hs
.getViewTreeObserver().removeGlobalOnLayoutListener(this);
        maxScrollX
= hs.getChildAt(0)
               
.getMeasuredWidth()-getWindowManager().getDefaultDisplay().getWidth();

   
}
});        

hs
.setOnTouchListener(new OnTouchListener() {          
   
@Override
   
public boolean onTouch(View v, MotionEvent event) {
       
Log.e("ScrollValue", Integer.toString(hs.getScrollX()));
 
if(hs.getScrollX() == maxScrollX){
     
Log.e("MaxRight", "MaxRight");    
 
}
 
return false;
   
}
});