做登录或转账系统的人会碰到需要输入密码的情况,而且可能会要求有时明文显示,有时密文显示。如何通过代码来控制呢?

下面的xml定义了一个输入框EditText,默认是系统键盘:

android:id="@+id/inputview"

style="@style/Style_Input"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:maxLength="16"

android:padding="10dp"

android:singleLine="true"

android:textCursorDrawable="@null"

android:visibility="visible" >

通过下面的代码改变输入类型:

@SuppressLint("InlinedApi")

public void setValueType(ValueType valueType) {

this.valueType = valueType;

switch(valueType) {

case EEditPwdNum:

if (showPwd) {

// 显示密码

inputView.setInputType(InputType.TYPE_CLASS_NUMBER);

inputView.setTransformationMethod(android.text.method.HideReturnsTransformationMethod.getInstance()); //数字

} else {

// 隐藏密码 3.0版才开始支持

if(android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.HONEYCOMB) {

inputView.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD); //字符

} else {

inputView.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_VARIATION_PASSWORD);

//setTransformationMethod 则可以支持将输入的字符转换,包括清除换行符、转换为掩码

inputView.setTransformationMethod(android.text.method.PasswordTransformationMethod.getInstance());

}

}

break;

case EEditPwdTxt:

if (showPwd) {

// 显示密码

inputView.setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD); //字符

} else {

// 隐藏密码

inputView.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD); //字符

}

break;

case EText:

default:

break;

}

}

这里需要注意的是,数字密码到android3.0(android.os.Build.VERSION_CODES.HONEYCOMB)才获得支持,对于3.0以下的版本,通过代码改变的话,还是需要用字符密码。

对于数字密码还有一种方法是设置为字符密码,但是对键盘显示进行过滤,只显示数字。如:

String digits = "0123456789";

DigitsKeyListener digitsKeyListener = DigitsKeyListener.getInstance(digits);

inputview.setKeyListener(digitsKeyListener);

还可以通过代码对EditText做更多的控制。

android动态显示键盘,动态修改EditText输入键盘并隐藏或显示密码相关推荐

  1. Android 软键盘功能键(EditText)

    夜深了.废话不多说了,项目需要改变Android软键盘右角下的功能键! 好了!先看图?还是代码?.... 还是先代码.然后效果图! 代码: public class MainActivity exte ...

  2. Android 10.0动态修改系统属性设备型号(Build.MODEL)

    定制化开发中设备型号(ro.product.model)的修改,可以在\build\tools\buildinfo.sh中修改,不过这种方式只能写死了, 所以需要根据不同情况动态修改设备型号 就得修改 ...

  3. android inputmethodmanager 不自动弹出,Android中软键盘InputMethodManager的弹出和隐藏,以及显示和隐藏的监听...

    1.首先设置软键盘的弹出模式,设置在初始化View的前面 @Override protected void onCreate(Bundle savedInstanceState) { this.req ...

  4. Android 4.4 如何修改WiFi热点的默认SSID和密码

    需求:需要修改WiFi热点的默认SSID和密码 代码路径: frameworks/base/wifi/java/android/net/wifi/WifiApConfigStore.java 在Wif ...

  5. Android 7.0 SystemUI 状态/导航栏的隐藏与显示

    平台 Android 7.1 + RK3288 概述 从Android 4.4开始支持沉浸式全屏体验,在沉浸式全屏模式下,状态栏. 虚拟按键动态隐藏,应用可以使用完整的屏幕空间,按照 Google 的 ...

  6. Android 编译期间 动态修改AndroidMainFest文件

    背景: 有时间有些需求,需要我们动态的修改AndroidMainFest文件,比如我想把应用所有的横屏改成竖屏.如果用手动替换搜索也可以,但是就会有一个问题就是,和其他分支合并的时候,容易产生冲突. ...

  7. android背景颜色动态修改,Android自定义TextView带圆角及背景颜色(动态改变圆角背景颜色)...

    最近根据项目需求自定义了一个TextView控件,主要用来做状态的标识,比如一个订单状态有各种,当然了这种设置在Android中可以直接用xml文件来处理,但是对于xml文件太过于麻烦,针对不同的颜色 ...

  8. Android 开发中动态修改StatusBar 的字体颜色(仅可以黑白)

    在开发中,产品要实现一个点击搜索,然后改变statusbar的字体颜色,百度了一通,发现,有一个比较好的blog 可以实现该效果 ,正好可以实现该效果,不论如何先上效果图: 将工具类代码贴上来 这个方 ...

  9. java相对应的键盘输入_Java 实现输入键盘上任意键显示出相对应的ASCII

    //主程序类 public class KeyPress extends JFrame { public static void main(String[] args) { KeyFrame fram ...

最新文章

  1. 【每日训练】2020/11/9(Splay ?rope大法好!、数论、构造补图)
  2. 【Ubuntu入门到精通系列讲解】常用其他命令(find ln tar apt)等速查
  3. Android完全退出程序、线程
  4. OGEngine_粒子效果
  5. How does a relational database work
  6. RabbitMQ入门(一)-安装(Windows环境下)
  7. php+mockjs,mockjs的常用方法分享
  8. linux查看vnc进程命令_linux命令:VNC服务的配置及使用
  9. Pytorch入门-1
  10. 算法-字符串 循环左移
  11. dao-service-servlet-jsp构建简易web通讯录(三层开发)预备知识
  12. QT5编程入门教程(非常详细)
  13. android之LitePal 3.0 的基本使用
  14. 使用ExtendSim进行水管理、可持续性和环境仿真建模
  15. dpt rp1 android apk,DPT-RP1 新固件
  16. github注册,使用方法
  17. java cron表达式 每天凌晨两点_Quartz cron表达式(时间表达式)
  18. hive卡在 kill command不动假死的原因及解决方案
  19. Java Back Propagation Neural Network(JAVA反向传播神经网络)
  20. 做短视频可以选哪些领域?推荐五种类型短视频,选对方向很重要

热门文章

  1. 如何利用数据分析买到好房子?
  2. 对比SQL,学习Pandas操作:group_concat如何实现?
  3. 【leetcode记录01】 数组
  4. SAP UI5 应用开发教程之五十一 - 如何使用 Chrome 调试运行在手机上的 SAP UI5 Cordova 混合应用
  5. SAP 电商云 Spartacus UI 产品搜索结果的设计明细
  6. 如何创建最简单的 SAP Kyma Function
  7. Angular路由里的canActivate用法
  8. Angular单元测试框架beforeEach和it的执行顺序
  9. Angular Component模板里的元素,运行时如何被生成并插入到DOM tree中
  10. SAP Spartacus LockFocusDirective的单步调试