显示Edittext中的密码

比较简单,废话不多说,直接上代码

github地址

https://github.com/zhouxu88/Edittext_Password.git

很多场景都有会用到EditText,用来接收用户输入的一些信息,当EditText是密码输入类型的时候,用户输入的信息都会被系统用原点給代替,保证其他人无法看见输入信息,但是有些时候我们自己也想看看自己输入的内容是否正确,那应该怎么样呢?EditText可以通过

setTransformationMethod设置不同的值可以显示和隐藏文本内容。显示为明文

setTransformationMethod(HideReturnsTransformationMethod.getInstance());

显示为密文

setTransformationMethod(PasswordTransformationMethod.getInstance());

布局文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"    
    android:layout_width="match_parent"    
    android:layout_height="match_parent">    
      <RelativeLayout       
        android:id="@+id/activity_main"        
        android:layout_width="match_parent"        
        android:layout_height="wrap_content"       
        android:padding="10dp">        
<EditText           
     android:id="@+id/psd_edt"           
     android:layout_width="match_parent"                         
     android:layout_height="wrap_content"         
     android:hint="请输入密码"           
     android:inputType="textPassword"           
     android:padding="10dp" />       
<ImageView            
    android:id="@+id/psd_toggle_iv"              
    android:layout_width="wrap_content"              
    android:layout_height="wrap_content"            
    android:layout_alignParentRight="true"              
    android:layout_centerVertical="true"            
    android:contentDescription="@null"           
    android:scaleType="center"           
    android:src="@drawable/eye_psd"          
    android:paddingRight="8dp"/>   
      </RelativeLayout>   
</LinearLayout>

Activity

public class MainActivity extends AppCompatActivity implements View.OnClickListener{   
     
     private EditText psdEdt;    
     private ImageView psdToggleIv;   
     private boolean isPsdVisible; //密码是否可见    

     @Override   
     protected void onCreate(Bundle savedInstanceState) {        
          super.onCreate(savedInstanceState);        
          setContentView(R.layout.activity_main);        
          initView();   
   }    

      private void initView() {        
          psdEdt = (EditText) findViewById(R.id.psd_edt);       
          psdToggleIv = (ImageView) findViewById(R.id.psd_toggle_iv);              
          psdToggleIv.setOnClickListener(this);   
 }    

//密码是否可见的"按钮"的点击事件    
      @Override  
      public void onClick(View v) {    
          if(!isPsdVisible){           
             //明文,设置密码可见            
             psdEdt.setTransformationMethod(HideReturnsTransformationMethod.getInstance());            
             isPsdVisible = true;       
     }else {           
       //密码,设置密码不可见            
       psdEdt.setTransformationMethod(PasswordTransformationMethod.getInstance());           
       isPsdVisible = false;     
     } 
   }
}

图片素材

eye_psd.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容