2013-09-22 4 views
2

Google Glass에서 뷰 페이지로 부드럽게 스크롤하는 방법은 무엇인가요? (특히 viewpagerindicator lib). 나는 뷰어를 구현했으며 작동하지만 터치 패드를 스 와이프하면 뷰를 빠르게 스크롤 할 수 있습니다. 나는 거울 api 메뉴와 유사한 부드러운 스크롤을하고 싶습니다. 누구나 아이디어가 있습니까? 아래 코드를 사용하여 touchevents를 가로 채려고 시도했지만 overriden 메서드는 호출되지 않습니다. Glass가 터치 이벤트를 받아서 D 패드 이벤트로 전환합니다. OnPageScrolled (내가하는 일에 쓸모없는)가 호출되지만 다른 메소드는 호출되지 않습니다.ViewPager가 Google Glass에서 스크롤

class MyViewPager extends ViewPager{ 
    public MyViewPager(){ 
    } 

@Override 
public void onPageScrolled(int arg0, float arg1, int arg2) { 
    // TODO Auto-generated method stub 
    super.onPageScrolled(arg0, arg1, arg2); 
} 

@Override 
public boolean onInterceptTouchEvent(MotionEvent arg0) { 
    // TODO Auto-generated method stub 
    return super.onInterceptTouchEvent(arg0); 
} 

@Override 
public boolean onTouchEvent(MotionEvent arg0) { 
    // TODO Auto-generated method stub 
    return super.onTouchEvent(arg0); 
} 

}

답변

3

이제 사용할 수있는 GDK의 CardScrollView (javadoc link) ViewPager — 대신 필요한 모든 기능이 있어야합니다.

+0

CardScrollView는 임의의 뷰 레이아웃을 지원합니까? 설명서에는 Card 객체를 사용하는 것이 좋지만 이러한 카드의 경우 몇 가지 심각한 제한 사항이 있습니다. 예를 들어 몇 개 이상의 이미지가로드되면 스크롤이 불규칙 해지고 응용 프로그램이 응답하지 않는 경우가 있습니다. – johnarleyburns

+1

네,'CardScrollAdapter'는'Card' 클래스에 의해 생성 된 뷰뿐만 아니라 모든 종류의 뷰를 리턴 할 수 있습니다. –

+0

이것은 이미지 뷰가 GC되지 않고 비동기 적으로로드 될 수 있기 때문에 카드보다 훨씬 효과적입니다. 그러나 슬라이더 스크롤바를 아래쪽에 표시 할 수 없습니다. – johnarleyburns

1

나는 나의 FragmentActivity에 GestureDetector를 추가하고, 대신 onScroll() 이벤트를 사용하여, 나는 페이지 변경을 트리거 할 onFling() 이벤트를 사용했다. http://b2cloud.com.au/how-to-guides/capture-glass-d-pad-events-for-android

그리고 날뛰는가 감지되었을 때, 난 그냥이 같은 페이지를 업데이트 :

은 GestureDetector의 기초가

protected void slideForward() { 
    viewPager.setCurrentItem(mPager.getCurrentItem() + 1); 
} 

protected void slideBackward() { 
    viewPager.setCurrentItem(mPager.getCurrentItem() - 1); 
} 
+0

이 시도해보십시오. 사용자가 Mirror 메뉴와 같이 앞으로 미끄러지 듯 부드럽게 전환되기를 바랬지 만. 이것은 아마 지금해야 할 일입니다. – Patrick

관련 문제