inputType="textPassword"
我在我的活动的 XML 中放置了一个 EditText
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="Enter Password"
android:inputType="textPassword"
android:padding="16dp"
android:id="@+id/passwordInput"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
到现在为止没有任何问题,我看到了真实密码字符的圆圈:
有趣的部分就在这里。现在,如果我setSingleLine()
在 Activity 中调用 EditText:
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
passwordInput.setSingleLine()
}
}
会看到密码字符惊人地可见!
android:singleLine="true"
另一个有趣的事情是,如果我将EditText 的 XML放入,这个问题就不会发生。
注意:我知道setSingleLine
在密码字段上设置是没有用的,但我很好奇为什么调用这个函数会有这样的副作用。