请选择 进入手机版 | 继续访问电脑版
查看: 5985|回复: 1

[Android开发资源分享] Android例子源码:仿支付宝手势密码的功能实现

[复制链接]
发表于 2015-3-27 15:15 | 显示全部楼层 |阅读模式
本项目是一个仿支付宝手势密码部分的源码,项目在1280×720分辨率上显示有问题,在 854x480上没有问题,项目编码UTF-8默认编译版本4.4.2,实现思路:0 K2 @; E2 s0 m! `
1.要用一个类来表示这9个点中的第一个点。里面保留有当前点的上下左右的各个位置等属性;/ a$ c) @. f7 @$ b
2.自定义GroupView,用来装9个点,9个点的显示是通过ImageView。复写onLayout这个方法,让点按需求排列;
9 t5 a7 r# S, U3.定义一个可以画线的View,复写onTouchEvent方法,在这个方法里面进行画直线的操作;% J" x( [& Y, u. r, P: v! |# K
4.判断用户手指当前的位置,取出当前的位置去与那9个点中的每个点的位置进行比较,如果用户点的位置在某一个点之内,那么当那个点置换背景图片。
2014-09-11-14-48-18[1].jpg 1 ^6 V4 ~! [/ b6 s  T# j* ?7 Q
2014-09-11-14-48-36[1].jpg & d0 q4 a1 g) s- i
2014-09-11-14-49-08[1].jpg % |; B* n0 J/ f
& i/ m' ?. Q8 H7 O0 Q
源码片段:: @5 |2 V! j* j8 d7 U
  1. public class MainActivity extends Activity {3 L' j8 t& w8 t7 Q$ m0 ^
  2. ! X! e. c$ ]/ M
  3.     private FrameLayout body_layout;! }9 p" O, L  e, G3 S
  4.     private ContentView content;
    / I% M, d0 V- [. z+ q+ J

  5. ) E- p! O1 W! q
  6.     @Override
    8 B6 U6 i. G" h! m  ?, Z# g8 a* {
  7.     protected void onCreate(Bundle savedInstanceState) {: r  D+ y4 f! q1 f' P) \( G% I
  8.         super.onCreate(savedInstanceState);1 M7 Z5 H/ Z$ ~, k  N% P% b. x
  9.         setContentView(R.layout.activity_main);2 ?$ x3 w0 `+ }( W) R$ x* d
  10.         body_layout = (FrameLayout) findViewById(R.id.body_layout);
    1 Q+ q9 Y9 l8 ]' c6 h/ S' s5 \  V

  11. , y% h, f, z' p3 i: c

  12. % a# J" x) n0 B6 o- s+ [) V$ I
  13.         // 初始化一个显示各个点的viewGroup
    * R# J, i1 p: p6 d4 S
  14.         content = new ContentView(this, "123654789",new GestureCallBack() {9 g* z6 k* \2 ~( O- R! U! j

  15. / g( H6 R. Y9 M5 k
  16.             @Override
    4 `$ j4 b; r2 b# [( |% Z
  17.             public void checkedSuccess() {# Y) S+ h: ?  q* {3 `# q% T
  18.                 Toast.makeText(MainActivity.this,"校验成功", Toast.LENGTH_SHORT).show();
    ' W2 n* k/ d3 m6 q4 d
  19.             }7 t$ b: S; h$ m. l# ^
  20. 1 I: M( I6 l. q8 S0 `/ \0 j2 z
  21.             @Override7 c: x8 p4 N. O% ?# K9 h
  22.             public void checkedFail() {
    1 X0 N+ r2 U5 N0 W
  23.                 Toast.makeText(MainActivity.this,"校验失败", Toast.LENGTH_SHORT).show();5 H5 k8 ?7 J9 C
  24.             }* i. ?* I0 S9 d) v  P6 R, F0 J$ r
  25.         });& d/ W9 M3 w8 `2 J" z
  26.         //设置手势解锁显示到哪个布局里面
    9 o- e* r7 ^9 Z( G0 i
  27.         content.setParentView(body_layout);
    0 }, t# L  _. s" f9 ^4 l
  28.     }6 i' q& V9 [" ~( o, \8 W
  29. 7 T. P6 i" v$ X( F3 |$ j0 {" ^
  30. }
复制代码
9 [0 }' N* ]3 w; R: e5 ~

) H# f. @* K; H& A% O源码下载:
# w- X, x6 W0 x% Y4 Z4 Z3 f
游客,如果您要查看本帖隐藏内容请回复
- ?( D5 F9 y' z  H* z0 l  Z
发表于 2015-3-30 14:18 | 显示全部楼层
Android开发源码:聚融网贷款投标助手
您需要登录后才可以回帖 登录 | 注册

本版积分规则

© 2001-2014Comsenz Inc.

快速回复 返回顶部 返回列表