1. package cc.c;
  2.  
  3. import android.app.Activity;
  4. import android.os.Bundle;
  5. import android.text.Selection;
  6. import android.text.Spannable;
  7. import android.text.method.HideReturnsTransformationMethod;
  8. import android.text.method.PasswordTransformationMethod;
  9. import android.view.View;
  10. import android.view.View.OnClickListener;
  11. import android.widget.Button;
  12. import android.widget.EditText;
  13. /**
  14. * Demo描述:
  15. * 文本输入框(EditText)切换密码的显示与隐藏
  16. *
  17. * 参考资料:
  18. * 1 http://developer.android.com/reference/android/text/method/HideReturnsTransformationMethod.html
  19. * 2 http://developer.android.com/reference/android/text/method/PasswordTransformationMethod.html
  20. * 3 http://blog.csdn.net/dawanganban/article/details/23374187
  21. * Thank you very much
  22. */
  23. public class MainActivity extends Activity {
  24. private Button mSwitchButton;
  25. private EditText mPasswordEditText;
  26. private boolean isHidden=true;
  27. @Override
  28. public void onCreate(Bundle savedInstanceState) {
  29. super.onCreate(savedInstanceState);
  30. setContentView(R.layout.main);
  31. init();
  32. }
  33. private void init(){
  34. mSwitchButton=(Button) findViewById(R.id.button);
  35. mPasswordEditText=(EditText) findViewById(R.id.editText);
  36. mSwitchButton.setOnClickListener(new OnClickListener() {
  37. @Override
  38. public void onClick(View v) {
  39. if (isHidden) {
  40. //设置EditText文本为可见的
  41. mPasswordEditText.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
  42. } else {
  43. //设置EditText文本为隐藏的
  44. mPasswordEditText.setTransformationMethod(PasswordTransformationMethod.getInstance());
  45. }
  46. isHidden = !isHidden;
  47. mPasswordEditText.postInvalidate();
  48. //切换后将EditText光标置于末尾
  49. CharSequence charSequence = mPasswordEditText.getText();
  50. if (charSequence instanceof Spannable) {
  51. Spannable spanText = (Spannable) charSequence;
  52. Selection.setSelection(spanText, charSequence.length());
  53. }
  54.  
  55. }
  56. });
  57. }
  58.  
  59. }

Android文本输入框(EditText)切换密码的显示与隐藏的更多相关文章

  1. IOS swift实现密码的显示与隐藏切换

    最近做项目遇到一个需要做密码的显示与隐藏功能,简单从功能上讲是比较简单的,但是,ios有个恶心的BUG,就是在切换显示密码后再隐藏密码时输入就被清空了,这个非常不友好,为了解决这个问题,我在网上找了相 ...

  2. JS实现登录页密码的显示和隐藏功能

    在登录页经常会用到通过点击文本框的类似小眼睛图片来实现隐藏显示密码的功能,其实实现原理很简单,通过点击事件来改变input的type类型,具体过程看代码: 在没给大家分享实现代码之前,先给大家展示下效 ...

  3. js控制密码的显示与隐藏实例

    原理是建立2个input,一个type是text,一个type是password.在点击按钮时,这两input个的显示状态与val()的值在切换. html: <!DOCTYPE html> ...

  4. Android之密码的显示与隐藏

    很多应用都是显示与隐藏密码的功能. 之前的项目都没这个功能要求,也没有专门研究这个.最近项目有加这个功能,我这里也刚好整理一下. 我的思路是设置EditText的InputType.代码如下: if ...

  5. 日积月累:EditText软键盘的显示和隐藏

    在工作过程中,常常会遇见需要根据自己的需求,控制文本框的键盘显示和隐藏. 通过查阅Android文档,介绍可以通过在清单文件中<activity>元素中添加android:windowSo ...

  6. js密码修改显示与隐藏效果

    一.添加input框 <form class="login_form"> <input class="password inputpwd" i ...

  7. el-input 标签中密码的显示和隐藏

    效果展示: 密码隐藏: 密码显示: 代码展示: 一:<el-input>标签代码 <el-form-item label="密码" prop="pass ...

  8. android 模拟输入框edittext控件按下回车或扫描头扫描到条码

    edtScan.setText(result); edtScan.onEditorAction(EditorInfo.IME_ACTION_NEXT); 场景:PDA都有扫描头,但有时想用自己的手机来 ...

  9. JQuery完整验证&密码的显示与隐藏&验证码

    HTML <link href="bootstrap.css" rel="stylesheet"> <link href="gloa ...

随机推荐

  1. 表A的数据减去表B ,最终得到表C

    ==========表A数据如下:                 表B数据如下:cr     zc     lx                     cr    zc    lx100   10 ...

  2. JS-字符串操作,查找显示高亮

    <!DOCTYPE HTML><html><head><meta http-equiv="Content-Type" content=&q ...

  3. OperationalError: (2002, “Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)”)

    OperationalError: (2002, “Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld ...

  4. vb6 实现奇门遁甲起局排盘、格局分析概要

    为了感谢博客园提供场地写博客,我将在周末有空时候,围绕奇门遁甲,涉及到奇门遁甲学习过程的方方面面的问题,写一些文章展开叙述!

  5. web大文件上传控件-jsp-oracle-bug修复-Xproer.HttpUploader6

    说明: 修复删除文件夹逻辑错误的问题   1.更新up6.js 更新前: 更新后: 代码:         , "RemoveFolder": function (fileSvr) ...

  6. 1.1 Activity

    1.概念 Application:由多个相关的松散的与用户进行交互Activity组成,通常被打包成apk后缀文件中: Activity:就是被用来进行与用户交互和用来与android内部特性交互的组 ...

  7. sql 里面 join in 的差别,join的用法

    1. join 有 left join,right join,inner join 这三种,对两个表做了笛卡尔积,然后再对结果集进行选取操作,选取满足条件的部分为结果. JOIN(内联接): 如果表中 ...

  8. elixir 高可用系列(二) GenServer

    概述 如果我们需要管理多个进程,那么,就需要一个专门的 server 来集中监控和控制这些进程的状态,启停等. OTP 平台中的 GenServer 就是对这个 server 通用部分的抽象. 利用 ...

  9. C++11 并发指南系列

    本系列文章主要介绍 C++11 并发编程,计划分为 9 章介绍 C++11 的并发和多线程编程,分别如下: C++11 并发指南一(C++11 多线程初探)(本章计划 1-2 篇,已完成 1 篇) C ...

  10. [ACM_数学] LA 3708 Graveyard [墓地雕塑 圈上新加点 找规律]

    Description   Programming contests became so popular in the year 2397 that the governor of New Earck ...