Android studio—密码规范与密码小眼睛

文章目录

  • Android studio—密码规范与密码小眼睛
    • 回顾博客
    • 具体功能完善
    • 效果预览
    • 规范密码
    • 密码小眼睛
      • 密码可见和不可见

本文主要对博主曾经的博客:Android studio—SQLite修改密码的功能进行进一步完善。除了原有的修改密码,注销账户功能外。
本次加入:1、规范密码:6-16位且开头为英语+数字组合
2、密码开头为大写3
3、密码小眼睛:可见与不可见

回顾博客

Android studio—SQlite数据库注册登录:https://blog.csdn.net/genijmni/article/details/106626300

Android studio—SQlite修改密码:https://blog.csdn.net/genijmni/article/details/106697445

Android studio—SQlite注销账号(删除账号):https://blog.csdn.net/genijmni/article/details/106698703

Android studio—登录注册功能实用技巧:https://blog.csdn.net/genijmni/article/details/106699294

具体功能完善

1、规范密码:6-16位且开头为英语+数字组合
2、密码开头为大写3
3、密码小眼睛:可见与不可见

效果预览

规范密码

通过对密码规范制定规则,以提高密码的安全性。
和规定手机号码一样,我们需要指定我们想要的规则:[A-Z]+[0-9A-Za-z]{6,16}

String regex="^(?=[A-Z])[0-9A-Za-z]{6,16}$";

在这里我们还需要了解一下JAVA中的一些规定:

  1. (?=rule)表示正排序下,该位必须匹配rule
  2. (?!rule)表示正排序序下,该位必须不能匹配rule
  3. (?<=rule)表示用在末尾必须匹配rule
  4. (?<!rule)表示用在末尾必须不能匹配rule

如果你想要首位不必大写字母:

String regex="^(?=[A-Za-z])[0-9A-Za-z]{6,16}$";

在此基础上进行更改即可
通过这个规则完成:6-16位,开头为大写英文字母+数字组合
规则书写在主类之中,写在onCreate方法之外

public  boolean isContainAll(String string){String regex="^(?=[A-Z])[0-9A-Za-z]{6,16}$";Pattern pattern = Pattern.compile(regex);Matcher matcher= pattern.matcher(string);boolean isMatch=matcher.matches();return isMatch;
}

完成规则定义后,还需要进行正确的系统提示:
需要在XML文件新建一个TextView控件作为提示输出

if (isContainAll(password)==false)
{watch.setText("密码不得少于6位,且需要开头字母+数字组合");
}

密码的规范到这,就大致完成了。

密码小眼睛

常用App的密码选项中,在右侧有一个小眼睛,方便用户对密码的可见和不可见进行操作。

我们需要怎么完成了,首先,我们需要在drawable中添加两张照片,一张是开眼,一张时闭眼:


由于我这是网上截图的小眼睛(若侵权,请告知,我会删除)
随后我们需要先在布局文件中添加一个ImagView图片控件,放在密码栏右侧

<ImageViewandroid:layout_width="0dp"android:id="@+id/eye"android:layout_weight="1"android:layout_marginTop="30dp"android:layout_height="wrap_content"/>

随后在JAVA文件中对控件定义,并将密码密码先为隐藏:

private boolean hide =true;   //设置为隐藏
private ImageView eye;  //定义控件
eye = findViewById(R.id.eye);   //绑定控件
eye.setImageResource(R.drawable.close);   //选择初始样貌为闭眼

这样准备阶段完成,后分别定义密码可见和密码不可见状态。

密码可见和不可见

通过switch方法,对可见和不可见进行选择:

 eye.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {switch (v.getId()){case R.id.eye:if (hide == true){eye.setImageResource(R.drawable.open);  //可见样貌HideReturnsTransformationMethod method = HideReturnsTransformationMethod.getInstance(); //可见userpassword.setTransformationMethod(method);hide = false;}else{eye.setImageResource(R.drawable.close);  不可见样貌TransformationMethod method = PasswordTransformationMethod.getInstance();  //隐藏userpassword.setTransformationMethod(method);hide = true;}int index = userpassword.getText().toString().length();userpassword.setSelection(index);break;}}});

如此就能完成密码小眼睛可见不可见功能。

Android studio—密码规范与密码小眼睛相关推荐

  1. android修改用户名和密码错误,Android应用开发Android Studio 修改用户名、密码、URL等操作教程...

    本文将带你了解Android应用开发Android Studio 修改用户名.密码.URL等操作教程,希望本文对大家学Android有所帮助. 修改用户名.密码: 在AndroidStudio的ter ...

  2. Android studio开发-单界面单机小程序

    Android studio开发-单界面单机小程序 最终结果展示 步骤: 建立项目 file-new-new project 新建一个项目文件 选择一个empty activity 配置项目名称以及项 ...

  3. android密码小眼睛,android 实现点击edittext的“小眼睛”切换明密文

    很多时候,我们为了用户的隐私安全,需要在密码输入的时候,显示密文.为了更好的用户体验,我们给用户提供了可以切换明密文的小图标(小眼睛) 先来看一下效果图: 这里我们可以有两种实现方式: 一. 布局文件 ...

  4. 如何解决android studio的模拟器有密码的问题

    原文链接:https://jingyan.baidu.com/article/e4d08ffd6a95300fd2f60dcf.html ------------------------ 在使用And ...

  5. 密码框后的小眼睛怎么写?

    问题:项目过程中密码框自带的小眼睛时有时无,输入密码后鼠标移动到其他地方点击一下再移回来,小眼睛消失,无法查看明文密码 解决方法:自己写一个小眼睛定位到input框后. 1.定义两个input框,类型 ...

  6. input如何显示密码隐藏密码,点击小眼睛显示隐藏密码

    目录 一.如何单纯的在密码框显示密码 二.如何在密码框里面显示并可以隐藏密码 三.代码展示 四.结果展示   一.如何单纯的在密码框显示密码 单纯显示密码可以吧type里面的值改成text,如果要隐藏 ...

  7. Android Studio代码提示前的小图标

    Android Studio图标的意思 每次在写代码的时候,一直不知道代码提示前的小图标是什么意思 最近Google了一下,在IntelliJ IDEA 网站看到了Icon的说明 Common Ico ...

  8. android密码框右侧显示小眼睛

    不知道为什么android 资料好少啊,一艘都2012-2015年的居多....这是为什么呢? 实现效果 <?xml version="1.0" encoding=" ...

  9. css去掉ie浏览器输入框后面的小叉叉,和密码框后面的小眼睛

    css代码里面放入这个就可以了 ::-ms-clear, ::-ms-reveal{display: none;}

最新文章

  1. 问题1:程序员要做一辈子?
  2. 程序与生活:程序员要保持好奇心
  3. eclipse工作空间在哪里配置?
  4. 基类与派生类之间的转换关系
  5. 博图如何上载wincc程序_WINCC 博途 以太网下载方式
  6. IDEA中Maven项目中界面右边的Maven Projects中子项目出现灰色
  7. php获取当前页面地址代码,PHP获取当前页面URL地址程序代码
  8. Mongodb 3.0 创建用户
  9. ADO.NET数据库编程
  10. 素因子分解算法python语言_python中求取最小公倍数的两种方法
  11. em算法详细例子及推导_EM算法详解
  12. 图像处理求均方差得c语言实现,数字图像处理第10章课件.ppt
  13. HDMI接口 HDCP
  14. 成都理工大学计算机考研资料汇总
  15. voldemort分布式数据库Rebalance的代码总结
  16. Litepal在没有存数据之前,需要在主线程中去先去存一些不必要的数据
  17. Word文档使用Mathtype如何实现公式自动居中并右对齐编号?
  18. 一天一道CTF 第六天
  19. Messaging短信源码导入AndroidStudio
  20. 漏洞修复需要升级打补丁,打补丁准备工作

热门文章

  1. 解析DeepLabv3+的网络结构及代码【Pytorch版】
  2. 从农夫砍大白菜到解决约瑟夫环的问题!
  3. Periodic Strings 字符串处理
  4. PAT 乙级 1046 划拳 python
  5. angular 强制更新视图_angular4强制刷新视图的方法
  6. 安装包UI美化之路-nsNiuniuSkin多语言配置
  7. C语言数据结构-第四章 串-电大同步进度
  8. 工行网银被盗200万 谁来为此买单?
  9. 如何实现用将富文本编辑器内容保存为txt文件并展示
  10. 3d几何图形为什么会有茶壶_[深入研究]什么是G3D几何交换格式?