首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >安卓在GridViewPager中穿戴WearableListView

安卓在GridViewPager中穿戴WearableListView
EN

Stack Overflow用户
提问于 2014-07-17 21:02:41
回答 1查看 5.1K关注 0票数 18

我正在构建一个Android Wear应用程序,我想将其呈现为几个可以水平滑动的页面。

为此,我使用了一个GridViewPager和关联的FragmentGridPagerAdapter,它被硬连接到使用单行。这对于在tiles之间水平滑动是很好的,但是在我的一个片段中,我想使用一个WearableListView来允许用户在几个操作之间进行选择。不幸的是,这并不起作用,因为它似乎是GridViewPager阻止任何滑动进入WearableListView。有没有人知道是否有一种方法可以使用所描述的组件来完成这项工作?

我也试过使用标准的ViewPager,这使得WearableListView可以很好地滚动,但水平滑动会变得很松散,而且你经常需要滑动几次才能移动视图分页。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-30 02:20:42

我也遇到了同样的事情。仅仅设置一行或者覆盖canscrollvertically()是行不通的。我找到的唯一选择就是覆盖触摸事件,就像Neevek的答案:HorizontalScrollView within ScrollView Touch Handling

这对我很有效:

代码语言:javascript
复制
private float xDistance, yDistance, lastX, lastY;

@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
    switch (ev.getAction()) {
        case MotionEvent.ACTION_DOWN:
            setDownPosition(ev);
            break;
        case MotionEvent.ACTION_MOVE:
            if (isVerticalScroll(ev))
                return false;
    }

    return super.onInterceptTouchEvent(ev);
}

@Override
public boolean onTouchEvent(MotionEvent ev) {
    switch (ev.getAction()) {
        case MotionEvent.ACTION_DOWN:
            setDownPosition(ev);
            break;
        case MotionEvent.ACTION_MOVE:
            if (isVerticalScroll(ev))
                return false;
    }

    return super.onTouchEvent(ev);
}

private void setDownPosition(MotionEvent ev){
    xDistance = yDistance = 0f;
    lastX = ev.getX();
    lastY = ev.getY();
}

private boolean isVerticalScroll(MotionEvent ev){
    final float curX = ev.getX();
    final float curY = ev.getY();
    xDistance += Math.abs(curX - lastX);
    yDistance += Math.abs(curY - lastY);
    lastX = curX;
    lastY = curY;
    if(xDistance < yDistance) {
        return true;
    }
    return false;
}
票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24804371

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档