仿支付宝/微信的password输入框效果GridPasswordView解析,把一些设置和一些关键的地方列了出来,方便大家使用,可能能够省一部分的时间,也算是自己的积累吧。

1.password框能够输入的类型PasswordType

  1. public enum PasswordType {
  2. NUMBER, TEXT, TEXTVISIBLE, TEXTWEB;
  3. }

这里能够自行加入类型,然后在GridPasswordView中改动

  1. @Override
  2. public void setPasswordType(PasswordType passwordType) {
  3. boolean visible = getPassWordVisibility();
  4. int inputType = InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_VARIATION_PASSWORD;
  5. switch (passwordType) {
  6.  
  7. case TEXT:
  8. inputType = InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD;
  9. break;
  10.  
  11. case TEXTVISIBLE:
  12. inputType = InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD;
  13. break;
  14.  
  15. case TEXTWEB:
  16. inputType = InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_WEB_PASSWORD;
  17. break;
  18. }
  19.  
  20. for (TextView textView : viewArr)
  21. textView.setInputType(inputType);
  22.  
  23. setPasswordVisibility(visible);
  24. }

2.PasswordView中的抽象方法的作用

  1. interface PasswordView {
  2.  
  3. //获取password
  4. String getPassWord();
  5.  
  6. //清空password
  7. void clearPassword();
  8.  
  9. //设置password
  10. void setPassword(String password);
  11.  
  12. //设置password可见性
  13. void setPasswordVisibility(boolean visible);
  14.  
  15. //password可见性的切换
  16. void togglePasswordVisibility();
  17.  
  18. //设置password改变监听
  19. void setOnPasswordChangedListener(GridPasswordView.OnPasswordChangedListener listener);
  20.  
  21. //设置password类型
  22. void setPasswordType(PasswordType passwordType);
  23. }

3.GridPasswordView中还有些方法没有去操作。有须要能够自己去写

  1. setBackground(Drawable)
  2. setBackgroundColor(int)
  3. setBackgroundResource(int)
  4. setBackgroundDrawable(Drawable)

这个类是View的主类。能够通过这个类去满足你的需求

4.在GridPasswordView中设置框框颜色和背景颜色(绿色和红色)

  1. private static final int DEFAULT_LINECOLOR = 0xaa61cea8;
  2. private static final int DEFAULT_GRIDCOLOR = 0xffe66961;

5.设置文本的大小和颜色(40px和蓝色)

  1. private static final int DEFAULT_TEXTSIZE = 40;
  2. textColor = ColorStateList.valueOf(getResources().getColor(android.R.color.holo_blue_light));

6.在gridpasswordview_styles.xml中设置了样式,大家依据须要更改

  1. <style name="GridPasswordView.TextView">
  2. <item name="android:layout_width">0dp</item>
  3. <item name="android:layout_height">match_parent</item>
  4. <item name="android:background">@null</item>
  5. <item name="android:gravity">center</item>
  6. <item name="android:layout_weight">1</item>
  7. <item name="android:singleLine">true</item>
  8. </style>
  9.  
  10. <style name="GridPasswordView.EditText" parent="GridPasswordView.TextView">
  11. <item name="android:cursorVisible">false</item>
  12. </style>
  13.  
  14. <style name="GridPasswordView.Divider">
  15. <item name="android:layout_width">1dp</item>
  16. <item name="android:layout_height">match_parent</item>
  17. <item name="android:layout_marginTop">1dp</item>
  18. <item name="android:layout_marginBottom">1dp</item>
  19. </style>

7.在gridpasswordview_attr.xml设置属性值

  1. <declare-styleable name="gridPasswordView">
  2.  
  3. <attr name="textColor" format="color|reference" />
  4. <attr name="textSize" format="dimension" />
  5.  
  6. <attr name="lineColor" format="color" />
  7. <attr name="gridColor" format="color" />
  8. <attr name="lineWidth" format="dimension" />
  9.  
  10. <attr name="passwordLength" format="integer" />
  11. <attr name="passwordTransformation" format="string" />
  12.  
  13. <attr name="passwordType" format="enum">
  14. <enum name="numberPassword" value="0" />
  15. <enum name="textPassword" value="1" />
  16. <enum name="textVisiblePassword" value="2" />
  17. <enum name="textWebPassword" value="3" />
  18. </attr>
  19.  
  20. </declare-styleable>

8.效果图

源代码下载地址;http://download.csdn.net/detail/pcaxb/8980873

仿支付宝/微信的password输入框效果GridPasswordView解析的更多相关文章

  1. iOS仿支付宝首页的刷新布局效果

    代码地址如下:http://www.demodashi.com/demo/12753.html XYAlipayRefreshDemo 运行效果 动画效果分析 1.UI需要变动,向上滑动的时候,顶部部 ...

  2. iOS仿支付宝芝麻信用仪表盘效果

    概述 自定义View之高仿支付宝芝麻信用分数仪表盘动画效果 详细 代码下载:http://www.demodashi.com/demo/10654.html 仿支付宝芝麻信用仪表盘效果 一.主要思路 ...

  3. iOS仿支付宝首页效果

    代码地址如下:http://www.demodashi.com/demo/12776.html 首先看一下效果 状态栏红色是因为使用手机录屏的原因. 1.问题分析 1.导航栏A有两组控件,随着tabl ...

  4. JS 仿支付宝input文本输入框放大组件

    input输入的时候可以在后边显示数字放大镜 <!doctype html> <html lang="en"> <head> <meta ...

  5. [ios仿系列]仿支付宝手势解码

    呀~.这么快就转到ios阵营了???.android还有那么多坑呢???为此我也仅仅能啃着馒头留下屈辱的眼泪了. . 本次因为开发公司产品的android版,继而ios版也负责一部分.当中一部分就是手 ...

  6. JS 仿腾讯发表微博的效果

    JS 仿腾讯发表微博的效果 最近2天研究了下 腾讯发表微博的效果 特此来分享下,效果如下: 在此分享前 来谈谈本人编写代码的习惯,很多人会问我既然用的是jquery框架 为什么写的组件不用Jquery ...

  7. iOS 仿支付宝密码支付

    代码地址如下:http://www.demodashi.com/demo/11484.html 一.准备工作 xcode 主要实现输入密码的时候不可见 二.程序实现 实现思路怎样 在支付宝输入密码的时 ...

  8. 支付宝钱包手势password破解实战(root过的手机可直接绕过手势password)

    /* 本文章由 莫灰灰 编写,转载请注明出处. 作者:莫灰灰    邮箱: minzhenfei@163.com */ 背景 随着移动互联网的普及以及手机屏幕越做越大等特点,在移动设备上购物.消费已是 ...

  9. Android控件Gridview实现仿支付宝首页,Fragment底部按钮切换和登录圆形头像

    此案例主要讲的是Android控件Gridview(九宫格)完美实现仿支付宝首页,包含添加和删除功能:Fragment底部按钮切换的效果,包含四个模块,登录页面圆形头像等,一个小项目的初始布局. 效果 ...

随机推荐

  1. Gym - 101981D The 2018 ICPC Asia Nanjing Regional Contest D.Country Meow 最小球覆盖

    题面 题意:给你100个三维空间里的点,让你求一个点,使得他到所有点距离最大的值最小,也就是让你找一个最小的球覆盖掉这n个点 题解:红书模板题,这题也因为数据小,精度也不高,所以也可以用随机算法,模拟 ...

  2. 浅谈自学Python之路(day2)

    今天的主要内容是: 标准库 数据类型知识 数据运算 三元运算 bytes类型 字符串操作 字典 集合 标准库 Python的强大之处在于他有非常丰富和强大的标准库和第三方库,几乎你想实现的任何功能都有 ...

  3. POJ 3630 trie树

    Phone List Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 26559 Accepted: 8000 Descripti ...

  4. Elasticsearch之更新(全部更新和局部更新)

    前面的基础, Elasticsearch之curl创建索引库 Elasticsearch之curl创建索引 Elasticsearch之curl创建索引库和索引时注意事项 Elasticsearch之 ...

  5. elasticsearch5.3.0 bulk index 性能调优实践

    elasticsearch5.3.0 bulk index 性能调优实践 通俗易懂

  6. 5.7 Maven通俗讲解

    好的东西只适合ctry+c+v 原文地址:https://blog.csdn.net/shuzhe66/article/details/45009175 Maven通俗讲解 也许是本人不才,初识Mav ...

  7. Java基础13一异常

    1.异常概念 异常是程序在运行期发生的不正常的事件,它会打断指令的正常执行流程. 设计良好的程序应该在异常发生时提供处理这些不正常事件的方法,使程序不会因为异常的发生而阻断或产生不可预见的结果. Ja ...

  8. 安装Oracle客户端时,检查系统要求时状态为错误的解决办法

    这是我自己安装oracle11g至win7的错误记录: 正在检查操作系统要求... 要求的结果: 5.0,5.1,5.2,6.0 之一 实际结果: 6.1 我换了 10g,11g从32bit到64bi ...

  9. Deutsch lernen (06)

    1. das Verzeichnis,-se 表格:名单,目录 Die Daten sind in einem Verzeichnis enthalten. (包括,含有) 2. enthalten  ...

  10. Matlab/Eigen矩阵填充问题

    Matlab进行矩阵填充时可以填充空矩阵,相当于空矩阵不存在,例如一下代码: P_RES = [ P_xv P_xvy P_xv*dy_dxv'; P_yxv P_y P_yxv*dy_dxv'; d ...