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

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

[复制链接]
发表于 2015-3-27 15:15 | 显示全部楼层 |阅读模式
本项目是一个仿支付宝手势密码部分的源码,项目在1280×720分辨率上显示有问题,在 854x480上没有问题,项目编码UTF-8默认编译版本4.4.2,实现思路:
$ y" |9 o- ]. C1 ^  _1 ^8 f6 x1.要用一个类来表示这9个点中的第一个点。里面保留有当前点的上下左右的各个位置等属性;" V% e; C5 n) q5 j' P7 O0 i
2.自定义GroupView,用来装9个点,9个点的显示是通过ImageView。复写onLayout这个方法,让点按需求排列;# v' X3 p3 B, L* W3 ^' j4 g
3.定义一个可以画线的View,复写onTouchEvent方法,在这个方法里面进行画直线的操作;% O+ `% m. k8 d) @
4.判断用户手指当前的位置,取出当前的位置去与那9个点中的每个点的位置进行比较,如果用户点的位置在某一个点之内,那么当那个点置换背景图片。
2014-09-11-14-48-18[1].jpg
# ]' s9 W. R' B% ]3 c  f 2014-09-11-14-48-36[1].jpg 1 ~1 K  y# L# M+ |3 k8 v
2014-09-11-14-49-08[1].jpg 3 G% R8 h7 t7 ^2 M# \( E* c2 G
) H- M) T* q6 l* [
源码片段:3 r2 F2 k$ ^3 N4 C" q! I8 A5 J' w
  1. public class MainActivity extends Activity {" m8 G- u  C- h. p- l: V  y

  2. / A# v' n6 R+ U3 M" `& _6 n' ]
  3.     private FrameLayout body_layout;4 I# o& P/ v6 E  ^* K% n
  4.     private ContentView content;
    / f% s% B( @" Y
  5. " u  M# ^! S" S2 x: U( \  i- w
  6.     @Override; Q" z8 U4 o. P! q- i
  7.     protected void onCreate(Bundle savedInstanceState) {
    $ b8 d/ U/ p; [0 t" H
  8.         super.onCreate(savedInstanceState);
    : t6 C  |1 ~( b* Q
  9.         setContentView(R.layout.activity_main);( j- z. c; v/ m# y/ C9 |. I
  10.         body_layout = (FrameLayout) findViewById(R.id.body_layout);, f# n. G, r- m  c8 p
  11. . ^; J- T9 `* R1 _# J
  12. ! n; ?' g" p* m& [
  13.         // 初始化一个显示各个点的viewGroup  ?7 m6 g& g9 m/ U! p) U4 Z
  14.         content = new ContentView(this, "123654789",new GestureCallBack() {- N7 G# c" b9 T8 N
  15. ' k( [: b8 e. ?" X  T. v- B) i
  16.             @Override1 t1 T3 _0 ~6 r: Z* W1 l
  17.             public void checkedSuccess() {# L& W1 d6 L# j! c; q
  18.                 Toast.makeText(MainActivity.this,"校验成功", Toast.LENGTH_SHORT).show();* Z2 q6 G2 E, T# R# B' C
  19.             }& ~" x' k- m/ o8 I; }5 J% w* w* ?$ b

  20. . s* i6 C8 c, B8 [
  21.             @Override# S- J/ z9 f( c$ J! }
  22.             public void checkedFail() {& w( P+ m! f  m5 _4 X9 r
  23.                 Toast.makeText(MainActivity.this,"校验失败", Toast.LENGTH_SHORT).show();
    1 E( `% r  r" [% H
  24.             }
    1 ?5 K$ t+ f' {+ I- e# p
  25.         });
    9 O2 J8 |& @6 D% C" j& w
  26.         //设置手势解锁显示到哪个布局里面# P$ g, C- g0 ]7 {! e4 x! Z
  27.         content.setParentView(body_layout);
    $ E3 _; q3 _3 S' L8 L, u
  28.     }
    4 W- Y/ q0 ?; H
  29. 7 t) u% b: Z0 I& R
  30. }
复制代码
  N% ?* W4 y& {9 g
. F* \/ b# t3 Y
源码下载:
' D8 N. W2 X# P
游客,如果您要查看本帖隐藏内容请回复

1 E, {$ d6 e% p2 p2 y- ]4 s& z$ b  U
发表于 2015-3-30 14:18 | 显示全部楼层
Android开发源码:聚融网贷款投标助手
您需要登录后才可以回帖 登录 | 注册

本版积分规则

© 2001-2014Comsenz Inc.

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