首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何检测容器列表中的“收缩”?

如何检测容器列表中的“收缩”?
EN

Stack Overflow用户
提问于 2016-09-24 15:42:02
回答 1查看 56关注 0票数 1

我希望能够将容器列表中的两个容器分开,以便在它们之间插入一个新的空容器。类似于iPhone应用程序“Clear”插入新任务的方式(例如,查看页面上的第一张图片https://www.raywenderlich.com/22174/how-to-make-a-gesture-driven-to-do-list-app-part-33 -当两个分拣容器被挤压离开时,小的红色容器被插入)。有什么关于我如何在代号1中实现这一点的提示吗?

EN

回答 1

Stack Overflow用户

发布于 2016-09-24 21:53:25

通常,您会重写pinch方法来实现收缩缩放或类似的调用。然而,这在这种情况下不会起作用,因为夹点将超出组件边界,它将不起作用。

我能想到的唯一方法是覆盖Form中的pointerDragged(int[],int[])方法,并检测正在增长的收缩运动来实现这一点。你可以在Component.java中查看pinch的代码,因为它应该是一个很好的基础:

代码语言:javascript
复制
public void pointerDragged(int[] x, int[] y) {
    if (x.length > 1) {
        double currentDis = distance(x, y);

        // prevent division by 0
        if (pinchDistance <= 0) {
            pinchDistance = currentDis;
        }
        double scale = currentDis / pinchDistance;
        if (pinch((float)scale)) {
            return;
        }
    }
    pointerDragged(x[0], y[0]);
}
private double distance(int[] x, int[] y) {
    int disx = x[0] - x[1];
    int disy = y[0] - y[1];
    return Math.sqrt(disx * disx + disy * disy);
}

添加条目很简单,只需在该位置放置一个空白组件,并增加其首选大小,直到它达到所需的大小。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39673861

复制
相关文章

相似问题

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