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

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

[复制链接]
发表于 2015-3-27 15:15 | 显示全部楼层 |阅读模式
本项目是一个仿支付宝手势密码部分的源码,项目在1280×720分辨率上显示有问题,在 854x480上没有问题,项目编码UTF-8默认编译版本4.4.2,实现思路:
. M& f/ ^* j1 G1.要用一个类来表示这9个点中的第一个点。里面保留有当前点的上下左右的各个位置等属性;4 D& l6 F5 e# q- |. U
2.自定义GroupView,用来装9个点,9个点的显示是通过ImageView。复写onLayout这个方法,让点按需求排列;
/ k8 d) `7 X3 \3.定义一个可以画线的View,复写onTouchEvent方法,在这个方法里面进行画直线的操作;& |3 q6 t) x, a, j: q( D
4.判断用户手指当前的位置,取出当前的位置去与那9个点中的每个点的位置进行比较,如果用户点的位置在某一个点之内,那么当那个点置换背景图片。
2014-09-11-14-48-18[1].jpg
- Y- P( g+ j& l 2014-09-11-14-48-36[1].jpg
0 g" L  B4 y, g. o" t 2014-09-11-14-49-08[1].jpg
% j- d# K5 _- Y
2 P1 y. {% |7 D0 c! {4 m源码片段:
1 r3 s! H3 v5 T
  1. public class MainActivity extends Activity {+ }* q( v- w0 z+ F
  2. " a- C5 s' J! j8 J- K! @# t. S
  3.     private FrameLayout body_layout;) Q7 j  X0 C. y* Z- h' C" B! P
  4.     private ContentView content;0 A* G6 y  L) D6 I" E
  5. 9 J3 q& N4 r% ]6 s4 t% l
  6.     @Override
    # _( X3 S- C0 g$ ^0 {
  7.     protected void onCreate(Bundle savedInstanceState) {8 a+ P7 a  B+ i, Z' \* Y
  8.         super.onCreate(savedInstanceState);' w5 c/ t) R" r: u; N4 f
  9.         setContentView(R.layout.activity_main);1 j9 v* k, J: }0 j0 n; l/ k
  10.         body_layout = (FrameLayout) findViewById(R.id.body_layout);
    . X! G1 t  @  W4 Y7 j* Q7 F9 F

  11. 0 d$ t( K3 G, x- A' w  V: [' P( ?0 w

  12. 2 I4 d2 _' o: A8 h6 N8 M
  13.         // 初始化一个显示各个点的viewGroup
    / e5 l0 r. K) [, m
  14.         content = new ContentView(this, "123654789",new GestureCallBack() {5 m, J& p5 O6 [
  15. & ]# `& @& P) ]; `% R
  16.             @Override
    , V$ y) Y8 ^0 }7 @  P4 e& p/ [
  17.             public void checkedSuccess() {- z4 F6 |! m5 J- |: w
  18.                 Toast.makeText(MainActivity.this,"校验成功", Toast.LENGTH_SHORT).show();  \! j7 U' N' b
  19.             }
    ( M+ l& J: {# Y3 p. `. {

  20. 7 O% H2 _: s# ~9 s) l  q! h% A- \) T2 y
  21.             @Override3 }% F9 @2 V- P7 k0 X; e+ ^
  22.             public void checkedFail() {! g% u7 E3 g! U* l; ~" e
  23.                 Toast.makeText(MainActivity.this,"校验失败", Toast.LENGTH_SHORT).show();7 @& c1 p  _& |; J1 j
  24.             }8 Z! _8 @* \/ O* G  Y3 v
  25.         });
    : T) }& K# @" t7 I, L6 [" [5 A( Q
  26.         //设置手势解锁显示到哪个布局里面9 b* l" o1 u7 |4 \0 a; M1 }8 }' a" a
  27.         content.setParentView(body_layout);/ N0 }! I; U2 S. @5 `9 o
  28.     }, v4 d3 _2 |! f) w; \3 }1 Z
  29. / s  J+ v2 u- w0 R, t# n8 ^9 T
  30. }
复制代码

) J% p4 Z' w- v. i% P% f& H3 ^% _7 O; }4 ]- @; p0 Z2 Z' t! S
源码下载:, w" z, e" Q# {5 [
游客,如果您要查看本帖隐藏内容请回复
1 f' o  w0 m* b  {
发表于 2015-3-30 14:18 | 显示全部楼层
Android开发源码:聚融网贷款投标助手
您需要登录后才可以回帖 登录 | 注册

本版积分规则

© 2001-2014Comsenz Inc.

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