Android_EditText 密码框默认是小圆点 怎么改成其它的(*)?

text.setTransformationMethod(new AsteriskPasswordTransformationMethod());

public class AsteriskPasswordTransformationMethod extends PasswordTransformationMethod {
@Override
public CharSequence getTransformation(CharSequence source, View view) {
    return new PasswordCharSequence(source);
}

private class PasswordCharSequence implements CharSequence {
    private CharSequence mSource;
    public PasswordCharSequence(CharSequence source) {
        mSource = source; // Store char sequence
    }
    public char charAt(int index) {
        return ‘*‘; // This is the important part
    }
    public int length() {
        return mSource.length(); // Return default
    }
    public CharSequence subSequence(int start, int end) {
        return mSource.subSequence(start, end); // Return default
    }
}

TextView : setInputType(). setTransformationMethod()

某些场合,可能需要在运行时令某个 TextView (可能是运行时创建的,也可以是写在 XML 文件中的)。由于无法通过 XML 文件指定其为 password 输入属性,那么如何实现这个效果呢?

TextView 有两个方法:

setInputType(int)
setTransformationMethod(TransformationMethod)

  

其中 setInputType 可以更改 TextView 的输入方式:Contact、Email、Date、Time、Short Message、Normal Text、Password 等。还可以指定各种更正选项,如 单词首字母大写、句子首字母大写、自动更正等。

使用方法:

int inputType = InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_AUTO_CORRECT
                      | InputType.TYPE_TEXT_FLAG_MULTI_LINE | InputType.TYPE_TEXT_FLAG_AUTO_CORRECT
                      | InputType.TYPE_TEXT_VARIATION_SHORT_MESSAGE;
       textView.setInputType(inputType);

而 setTransformationMethod 则可以支持将输入的字符转换,包括清除换行符、转换为掩码。使用方法:

 textView.setTransformationMethod(PasswordTransformationMethod.getInstance());

综合来说,如果需要实现自己的转换,可以通过实现 TransformationMethod 接口来达到你的目的(比如让输入的所有字符都变成 a,或者输入 a 显示 z,输入 z 显示 a 等)。

时间: 2024-08-30 03:46:54

Android_EditText 密码框默认是小圆点 怎么改成其它的(*)?的相关文章

Android EditText 密码框默认是小圆点 怎么改成其它的(*)?

text.setTransformationMethod(new AsteriskPasswordTransformationMethod()); public class AsteriskPasswordTransformationMethod extends PasswordTransformationMethod { @Override public CharSequence getTransformation(CharSequence source, View view) { retur

实现密码框默认文字效果实例代码

实现密码框默认文字效果实例代码:大家都知道很多文本框在默认情况下都有默认的提示文本,例如"请输入姓名"之类的语言,当点击文本框的时候,会清除提示语,比较人性化.但是在密码框中实现此效果可能就有点麻烦了,因为密码框不是以明文显示的,下面就介绍一下代码实例解决此问题.代码如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="

小例子:通用模块——文本框默认提示信息

小例子:通用模块——文本框默认提示信息 因为H5的属性 不兼容所有浏览器 <input type="search" name="" placeholder="提示信息" /> 所以有下面写法: <!DOCTYPE html> <html> <head> <title></title> <meta charset="utf-8"> <met

HTML5:去除IE10中输入框和密码框的X按钮和小眼睛

在IE10和之后的IE版本中,当在输入框和密码框中输入的时候,后面会自动出现X按钮和小眼睛,如下图所示:  令人苦恼的是,这个效果只有IE才有,其它浏览器是没有这个功能的.为了统一,我们就需要去掉这个功能,做法也很简单,直接在CSS中添加如下语句即可: /* 去除IE输入框的X标记 */ input[type=text]::-ms-clear { display: none; } /* 去除IE输入框的小眼睛标记 */ input[type=password]::-ms-reveal { dis

ASP.NET文本框密码赋默认值的方法

对于普通的文本输入框,可以使用下边的方法赋默认值: <asp:TextBox ID="TextBox1" runat="server">12345</asp:TextBox> 将输入框类型改为密码后,页面上密码框总是空白,默认值丢失: <asp:TextBox ID="TextBox1" runat="server" TextMode="Password">12345&l

五、适合小白的小程序之密码框密码、*号显示隐藏

首先呢,还是先看看效果吧! 非可视密码下: 可视密码下: 到此呢,上正菜,为大家奉上. wxml下: 1 <view class='sameBox'> 2 <icon class='iconfont .icon-mima'></icon> 3 <input bindinput='passWordInput' name="passWord" type="{{typeName}}" placeholder='请输入密码'>

[Asp.net]说说密码框和只读框

原文:[Asp.net]说说密码框和只读框 引言 最近负责了一个公司的小项目,从前台到后代,都是自己搞的,为一个客户弄一个信息管理的小系统,虽然对界面什么的没要求,处于负责的态度,还是给他加了一下样式,当然,大部分样式还是从网上扒下来的. 密码框 情景是这样的,当你在用户列表中选择要编辑的记录时,需要在编辑页面将用户信息填在对应的框内,密码框的问题就来了.这里弄了一个简单页面进行测试,代码如下: 1 <%@ Page Language="C#" AutoEventWireup=&

iOS密码框实现(二)取消确定按钮

由于将确定按钮去掉了,所以需要重新修改下代码,当输入第四个数字时,自动进入房间. iOS 密码框效果图: 实现方式: 首先声明一个block初始化方法,因为这只是个框框,并不需要处理网络请求等等,需要提供一个block给调用方,调用方利用block 去拿到密码,利用密码做一些开房间等操作. 利用计时器通过0.2秒来看清输入第四位密码,用户输入4位密码后自动进入下一步操作. 1.头文件需要定义: @classIDSGameRoomSecretView; typedefvoid(^selfhandl

Silverlight 密码框 Focus

在做一个例子是需要运行起来后焦点默认设置在密码框上,在网上查了资料 自己找到一种方法,此方法在oob模式下管用 public Login() { InitializeComponent(); txtLoginName.Text = "admin"; // 设置焦点在密码框上 Dispatcher.BeginInvoke(() => { txtLoginPwd.Focus(); }); } 网上找到的另一种方法 1.想在Silverlight首次启动让某个文本框获取焦点,使用Loa