zoukankan      html  css  js  c++  java
  • app绘制手势密码 、九宫格分解

    什么是九宫格?

    即是我们常见的手势绘制。一共有9个点,让我们进行绘制手势。我们手动操作的时候,通过是按住第一个点,然后移动到最后一点,然后松开,就完成手势的操作,那么,如果要用自动化代码,来让其自动绘制手势,应该要怎么做呢?

    分解九宫格图(放在了一个元素里面)

    选一个常用的九宫格,为了方便看到九宫格点与点之间的关系,用了工具将工具放大,并加了网格,可以看到九宫格整个元素的宽、高,加上点与点之间的间隔,大致可以将九宫格的宽、高分为6份,知道之间的关系,就可以大致定位点的位置(知道移动到点里面的范围,即可选中点,不是非常精确地定位操作);如:要移动到第一点,需要到箭头1或者2的位置

    下图是九宫格的手势(即经过了那些点)

    各个九宫格的位置

    1. 首先要获取九宫格的size ,size包含了宽和高

                 jiu_size = driver.find_element_by_id("九宫格元素的定位").size

                获取九宫格的起始坐标,再加上与九宫格的位置,

                 start= driver.find_element_by_id("九宫格元素的定位").location

    1. 第一点的位置大概占整个宽度的 1/6,第二点占 3/6,第三点占 5/6,都在同一行,高不变

                 points[1] = (None, start["x"] + jiu_size["width"]*1/6, start["y"]+jiu_size["height"]*1/6)

                 points[1] = (None, jiu_size["width"]*3/6, jiu_size["height"]*1/6)

                 points[1] = (None, jiu_size["width"]*5/6, jiu_size["height"]*1/6)

    1. 第四个点占整个高度3/6,宽度不变,变的是高度

                 points[1] = (None, jiu_size["width"]*5/6, jiu_size["height"]*3/6)

                 points[1] = (None, jiu_size["width"]*5/6, jiu_size["height"]*5/6)

    1. 第6个点在第三行的第二点,最后一个点在第三行第一个点,变的是宽度

                 points[1] = (None, jiu_size["width"]*3/6, jiu_size["height"]*3/6)

                 points[1] = (None, jiu_size["width"]*1/6, jiu_size["height"]*5/6)

  • 相关阅读:
    怎样写APP计划书-20150313早读课
    机器学习经典算法具体解释及Python实现--线性回归(Linear Regression)算法
    iOS的isnan函数
    过滤NSString中的Emoji
    开工了,发个招聘~长虹智能交易平台英雄帖(有截止日期,事实上长期有效,标题要长,:)
    C语言变长參数的认识以及宏实现
    Protobuf语言指南
    Python内存管理:垃圾回收
    【bzoj1875】【SDOI2009】【HH去散步】
    Drawable资源的初步使用
  • 原文地址:https://www.cnblogs.com/cuitang/p/10118594.html
Copyright © 2011-2022 走看看