ViewPager在Google Glass上滚动

时间:2013-09-22 20:59:02

标签: google-glass google-gdk

如何在Google Glass上使用viewpager进行平滑滚动? (特别是viewpagerindicator lib)。我已经实现了浏览器并且它们可以工作,但是在触摸板上轻扫可以快速滚动视图。我希望有类似于镜像api菜单的平滑滚动。有人有想法吗?我试图使用下面的代码拦截touchevents,但不调用overriden方法。似乎Glass接受触摸事件并将其转换为d-pad事件。调用OnPageScrolled(对我正在做的事情没用),但其他方法不是。

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);
}

}

2 个答案:

答案 0 :(得分:3)

您现在可以使用GDK的CardScrollViewjavadoc link)代替ViewPager - 它应该具备您需要的所有功能。

答案 1 :(得分:1)

我在FragmentActivity中添加了一个GestureDetector,而不是使用onScroll()事件,我使用onFling()事件来触发页面更改。

这是GestureDetector的基础:http://b2cloud.com.au/how-to-guides/capture-glass-d-pad-events-for-android

然后当检测到fling时,我刚刚更新了这样的页面:

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

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