EditText的setTransformationMethod的使用

来源:互联网 发布:js new array 删除 编辑:程序博客网 时间:2024/06/01 22:27

setTransformationMethod是TextView的一个方法,EditText继承于TextView自然可以使用

这个方法是用来设置其中text的转换显示

接收的参数是TransformationMethod接口,系统给了我们几个默认实现


HideReturnsTransformationMethod隐藏回车

SingleLineTransformationMethod不能用换行回车

PasswordTransformationMethod密码类型

ReplacementTransformationMethod抽象类,前面两个都是继承于这个抽象类,很明显就是替换,我们可以自己去继承这个类实现自己的TransformationMethod



下面看看一些常用方式:

隐藏显示密码

[java] view plain copy
  1. inal EditText editText = (EditText) findViewById(R.id.et);  
  2. CheckBox checkBox = (CheckBox) findViewById(R.id.cb);  
  3.   
  4.   
  5. checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {  
  6.     @Override  
  7.     public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {  
  8.         if (isChecked) {  
  9.             editText.setTransformationMethod(HideReturnsTransformationMethod.getInstance());  
  10.         } else {  
  11.             editText.setTransformationMethod(PasswordTransformationMethod.getInstance());  
  12.         }  
  13.     }  
  14. });  


小写转化为大写

[java] view plain copy
  1. editText.setTransformationMethod(new AllCapTransformationMethod());  

[java] view plain copy
  1. public class AllCapTransformationMethod extends ReplacementTransformationMethod {  
  2.   
  3.        @Override  
  4.        protected char[] getOriginal() {  
  5.            char[] aa = {'a''b''c''d''e''f''g''h''i''j''k''l''m''n''o''p''q''r''s''t''u''v''w''x''y''z'};  
  6.            return aa;  
  7.        }  
  8.   
  9.        @Override  
  10.        protected char[] getReplacement() {  
  11.            char[] cc = {'A''B''C''D''E''F''G''H''I''J''K''L''M''N''O''P''Q''R''S''T''U''V''W''X''Y''Z'};  
  12.            return cc;  
  13.        }  
  14.   
  15.    }  
原创粉丝点击