android动态显示键盘,动态修改EditText输入键盘并隐藏或显示密码
做登录或转账系统的人会碰到需要输入密码的情况,而且可能会要求有时明文显示,有时密文显示。如何通过代码来控制呢?
下面的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输入键盘并隐藏或显示密码相关推荐
- Android 软键盘功能键(EditText)
夜深了.废话不多说了,项目需要改变Android软键盘右角下的功能键! 好了!先看图?还是代码?.... 还是先代码.然后效果图! 代码: public class MainActivity exte ...
- Android 10.0动态修改系统属性设备型号(Build.MODEL)
定制化开发中设备型号(ro.product.model)的修改,可以在\build\tools\buildinfo.sh中修改,不过这种方式只能写死了, 所以需要根据不同情况动态修改设备型号 就得修改 ...
- android inputmethodmanager 不自动弹出,Android中软键盘InputMethodManager的弹出和隐藏,以及显示和隐藏的监听...
1.首先设置软键盘的弹出模式,设置在初始化View的前面 @Override protected void onCreate(Bundle savedInstanceState) { this.req ...
- Android 4.4 如何修改WiFi热点的默认SSID和密码
需求:需要修改WiFi热点的默认SSID和密码 代码路径: frameworks/base/wifi/java/android/net/wifi/WifiApConfigStore.java 在Wif ...
- Android 7.0 SystemUI 状态/导航栏的隐藏与显示
平台 Android 7.1 + RK3288 概述 从Android 4.4开始支持沉浸式全屏体验,在沉浸式全屏模式下,状态栏. 虚拟按键动态隐藏,应用可以使用完整的屏幕空间,按照 Google 的 ...
- Android 编译期间 动态修改AndroidMainFest文件
背景: 有时间有些需求,需要我们动态的修改AndroidMainFest文件,比如我想把应用所有的横屏改成竖屏.如果用手动替换搜索也可以,但是就会有一个问题就是,和其他分支合并的时候,容易产生冲突. ...
- android背景颜色动态修改,Android自定义TextView带圆角及背景颜色(动态改变圆角背景颜色)...
最近根据项目需求自定义了一个TextView控件,主要用来做状态的标识,比如一个订单状态有各种,当然了这种设置在Android中可以直接用xml文件来处理,但是对于xml文件太过于麻烦,针对不同的颜色 ...
- Android 开发中动态修改StatusBar 的字体颜色(仅可以黑白)
在开发中,产品要实现一个点击搜索,然后改变statusbar的字体颜色,百度了一通,发现,有一个比较好的blog 可以实现该效果 ,正好可以实现该效果,不论如何先上效果图: 将工具类代码贴上来 这个方 ...
- java相对应的键盘输入_Java 实现输入键盘上任意键显示出相对应的ASCII
//主程序类 public class KeyPress extends JFrame { public static void main(String[] args) { KeyFrame fram ...
最新文章
- 【每日训练】2020/11/9(Splay ?rope大法好!、数论、构造补图)
- 【Ubuntu入门到精通系列讲解】常用其他命令(find ln tar apt)等速查
- Android完全退出程序、线程
- OGEngine_粒子效果
- How does a relational database work
- RabbitMQ入门(一)-安装(Windows环境下)
- php+mockjs,mockjs的常用方法分享
- linux查看vnc进程命令_linux命令:VNC服务的配置及使用
- Pytorch入门-1
- 算法-字符串 循环左移
- dao-service-servlet-jsp构建简易web通讯录(三层开发)预备知识
- QT5编程入门教程(非常详细)
- android之LitePal 3.0 的基本使用
- 使用ExtendSim进行水管理、可持续性和环境仿真建模
- dpt rp1 android apk,DPT-RP1 新固件
- github注册,使用方法
- java cron表达式 每天凌晨两点_Quartz cron表达式(时间表达式)
- hive卡在 kill command不动假死的原因及解决方案
- Java Back Propagation Neural Network(JAVA反向传播神经网络)
- 做短视频可以选哪些领域?推荐五种类型短视频,选对方向很重要
热门文章
- 如何利用数据分析买到好房子?
- 对比SQL,学习Pandas操作:group_concat如何实现?
- 【leetcode记录01】 数组
- SAP UI5 应用开发教程之五十一 - 如何使用 Chrome 调试运行在手机上的 SAP UI5 Cordova 混合应用
- SAP 电商云 Spartacus UI 产品搜索结果的设计明细
- 如何创建最简单的 SAP Kyma Function
- Angular路由里的canActivate用法
- Angular单元测试框架beforeEach和it的执行顺序
- Angular Component模板里的元素,运行时如何被生成并插入到DOM tree中
- SAP Spartacus LockFocusDirective的单步调试