如何在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);
}
}
答案 0 :(得分:3)
您现在可以使用GDK的CardScrollView
(javadoc 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);
}