2

如何在 Google Glass 上使用 viewpager 进行平滑滚动?(特别是 viewpagerindicator 库)。我已经实现了查看器并且它们可以工作,但是在触摸板上滑动会快速滚动浏览视图。我希望平滑滚动类似于镜像 api 菜单。有人有想法吗?我尝试使用下面的代码拦截触摸事件,但未调用覆盖的方法。似乎 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);
}

}

4

2 回答 2

3

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

于 2013-11-23T01:05:57.837 回答
1

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

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

然后当检测到投掷时,我只是像这样更新了页面:

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

protected void slideBackward() {
    viewPager.setCurrentItem(mPager.getCurrentItem() - 1);
}
于 2013-10-08T20:52:32.603 回答