【问题标题】:How can I show a mirrored Android screen when I type a password?输入密码时如何显示镜像的 Android 屏幕?
【发布时间】:2020-02-21 11:53:39
【问题描述】:

我正在使用“Mobizen Mirroring”来镜像我智能手机的屏幕。
我正在尝试通过镜像计算机在智能手机应用程序中输入密码。
但是,按密码“EditText”会使镜像的计算机屏幕变黑。
我应该会在镜像的计算机屏幕上看到我的密码。
https://i.imgur.com/mgrVQDH.png

我更改了 EditText 属性的值。

android:inputType="textPassword"
android:inputType="textVisiblePassword"

并搜索镜像,mobizen,密码,edittext等关键字...
但我找不到任何像我的问题的帖子

EditText 代码如下所示:

编辑文本

<EditText
        android:id="@+id/password_edit"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10"
        android:hint="password"
        android:inputType="textPassword"
        android:textAppearance="@style/TextAppearance.AppCompat.Large"
        android:visibility="visible" />

当我点击“EditText”时,我应该能够看到镜像计算机的输出。
也许这是一个安全策略。
我应该把它变成一个没有密码属性的普通 EditText 吗?

【问题讨论】:

  • 我使用的是“华为 Mate 20”智能手机。是华为设置问题。如果您使用“安全输入”,请转到设置 > 语言和输入 > 触摸安全输入。然后镜像屏幕将保持打开状态。我关闭了安全输入选项,镜像屏幕没有关闭。

标签: android android-edittext passwords mirroring


【解决方案1】:

您可以将 inputType 更改为 text 并添加您自己的转换方法,如下所示:

edittext.setTransformationMethod(new MyPasswordTransformationMethod());

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

private class PasswordCharSequence implements CharSequence {
    private CharSequence mText;
    public PasswordCharSequence(CharSequence text) {
        mText = text; 
    }
    public char charAt(int index) {
        return '*'; 
    }
    public int length() {
        return mText.length(); 
    }
    public CharSequence subSequence(int start, int end) {
        return mText.subSequence(start, end);
    }
}
};

【讨论】:

  • 谢谢你告诉我。如果没有其他选择,我可能会删除密码属性并按照您的要求使用它。
猜你喜欢
  • 1970-01-01
  • 2014-01-27
  • 2020-03-10
  • 1970-01-01
  • 1970-01-01
  • 2018-04-23
  • 1970-01-01
  • 1970-01-01
  • 2017-02-14
相关资源
最近更新 更多