Android文本输入框(EditText)输入密码时显示与隐藏

作者:hebedich 时间:2022-04-24 06:23:47 

代码很简单,这里就不多废话了。


package cc.c;
import android.app.Activity;
import android.os.Bundle;
import android.text.Selection;
import android.text.Spannable;
import android.text.method.HideReturnsTransformationMethod;
import android.text.method.PasswordTransformationMethod;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
/**
 * Demo描述:
 * 文本输入框(EditText)切换密码的显示与隐藏
 *
 * 参考资料:
 * 1 http://developer.android.com/reference/android/text/method/HideReturnsTransformationMethod.html
 * 2 http://developer.android.com/reference/android/text/method/PasswordTransformationMethod.html
 *   Thank you very much
 */
public class MainActivity extends Activity {
    private Button mSwitchButton;
    private EditText mPasswordEditText;
    private boolean isHidden=true;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        init();
    }
    private void init(){
        mSwitchButton=(Button) findViewById(R.id.button);
        mPasswordEditText=(EditText) findViewById(R.id.editText);
        mSwitchButton.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                if (isHidden) {
                    //设置EditText文本为可见的
                    mPasswordEditText.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
                } else {
                    //设置EditText文本为隐藏的
                    mPasswordEditText.setTransformationMethod(PasswordTransformationMethod.getInstance());
                }
                isHidden = !isHidden;
                mPasswordEditText.postInvalidate();
                //切换后将EditText光标置于末尾
                CharSequence charSequence = mPasswordEditText.getText();
                if (charSequence instanceof Spannable) {
                    Spannable spanText = (Spannable) charSequence;
                    Selection.setSelection(spanText, charSequence.length());
                }
 
            }
        });
    }
    
}

有相同需求的小伙伴过来参考下吧,可以直接拿去使用。

标签:Android,文本输入框,EditText
0
投稿

猜你喜欢

  • 基于Java信号量解决死锁过程解析

    2023-05-13 22:23:02
  • Android为View添加拖放效果的方法实例

    2023-06-25 18:53:45
  • c#判断磁盘驱动器类型的两种方法介绍

    2023-12-18 10:04:53
  • 完美解决PermGen space异常的问题

    2023-08-19 07:54:55
  • Android完美实现平滑过渡的ViewPager广告条

    2023-10-01 13:05:31
  • Maven管理SpringBoot Profile详解

    2022-03-20 09:57:45
  • 浅谈在springboot中使用定时任务的方式

    2023-03-02 19:14:09
  • SpringCloud Eureka服务治理之服务注册服务发现

    2021-12-27 15:07:16
  • mybatis使用foreach查询不出结果也不报错的问题

    2023-11-24 22:36:17
  • C++实现softmax函数的面试经验

    2023-06-16 02:07:47
  • spring mvc实现文件上传并携带其他参数的示例

    2023-11-20 11:54:06
  • Java语言实现二叉堆的打印代码分享

    2021-11-27 23:00:15
  • Java实现简单班级管理系统

    2023-01-07 16:20:29
  • C#字符串内存分配与驻留池学习分享

    2022-07-02 12:11:29
  • java通过ip获取客户端Mac地址的小例子

    2021-12-22 06:37:07
  • spring boot 使用profile来分区配置的操作

    2022-11-27 22:55:15
  • Java中的static关键字修饰属性和方法(推荐)

    2021-09-29 05:46:20
  • C# NAudio 库的各种常见使用方式之播放 录制 转码 音频可视化

    2023-06-20 04:14:16
  • C#线程定义和使用方法详解

    2022-08-18 00:51:51
  • JAVA通过Filter实现允许服务跨域请求的方法

    2022-08-02 02:17:46
  • asp之家 软件编程 m.aspxhome.com