【问题标题】:Is it possible to replace dots in password (EditText) with custom view?是否可以用自定义视图替换密码(EditText)中的点?
【发布时间】:2015-04-27 09:24:58
【问题描述】:

我想用自定义 xml 或图像替换 EditText (android:inputType="textPassword") 中的点。我可以使用PasswordTransformationMethod 方法将点替换为任何其他符号,但这不是这种情况下所需要的。

那么,有可能吗?

谢谢。

【问题讨论】:

    标签: android android-edittext android-xml xml-attribute


    【解决方案1】:

    有用于编辑文本的 Span API。您可以将TextWatcherImageSpan 结合使用。也不要忘记安全的复制/粘贴功能。所以解决方案是监听文本输入,并用 ImageSpans 包装它。当您想获取密码时,您可以简单地使用 EditText.getText.toString();

    【讨论】:

      【解决方案2】:

      请看这个 http://developer.android.com/reference/android/text/method/PasswordTransformationMethod.html

      试试这个,

      public class MyPasswordTransformationMethod 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
          }
      }
      };
      

      然后:

      text.setTransformationMethod(new MyPasswordTransformationMethod());
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-10-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-11-08
        • 1970-01-01
        相关资源
        最近更新 更多