Вы можете вызвать setEndIconOnClickListener
на вашем TextInputLayout
:
textInputLayout.setEndIconOnClickListener { v ->
// Layout changes here
}
Однако это удаляет прослушиватель щелчков, отвечающий за переключение метода преобразования пароля. Я бы предложил просто скопировать код прослушивателя кликов в PasswordToggleEndIconDelegate
и добавить свою собственную функциональность сверху:
textInputLayout.setEndIconOnClickListener {
val editText: EditText? = textInputLayout.editText
// Store the current cursor position
val selection = editText?.selectionEnd ?: 0
// Check for existing password transformation
val hasPasswordTransformation = editText?.transformationMethod is PasswordTransformationMethod;
if (hasPasswordTransformation) {
editText?.transformationMethod = null
} else {
editText?.transformationMethod = PasswordTransformationMethod.getInstance()
}
// Restore the cursor position
editText?.setSelection(selection)
// Add additional functionality here
}
Редактировать: Этот метод доступен только в версии библиотеки материалов 1.1.0-alpha04
и далее, и на момент написания, 1.1.0
все еще в бета-версии.