android - Android TV:如何添加密码操作
问题描述
我正在尝试使用GuigedStepSupportFragement
. 我有一个密码字段并给出了它inputType(InputType.TYPE_TEXT_VARIATION_PASSWORD)
,但是当我填写密码时它不显示点。
这是我在onCreateActions
方法中添加电子邮件和密码输入的片段代码:
class LoginFragment : GuidedStepSupportFragment() {
private val ACTION_ID_EMAIL = 1.toLong()
private val ACTION_ID_PASSWORD = ACTION_ID_EMAIL + 1
override fun onCreateGuidance(savedInstanceState: Bundle?): GuidanceStylist.Guidance {
return GuidanceStylist.Guidance(
getString(R.string.setup_login_title),
getString(R.string.setup_login_description),
"",
null
)
}
override fun onCreateActions(actions: MutableList<GuidedAction>, savedInstanceState: Bundle?) {
actions.add(GuidedAction.Builder(activity)
.id(ACTION_ID_EMAIL)
.title(R.string.setup_login_input_email_title)
.editTitle("")
.description(R.string.setup_login_input_email_description)
.inputType(InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS)
.editInputType(InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS)
.editable(true)
.build()
)
actions.add(GuidedAction.Builder(activity)
.id(ACTION_ID_PASSWORD)
.title(R.string.setup_login_input_password_title)
.editTitle("")
.description(R.string.setup_login_input_password_description)
.inputType(InputType.TYPE_TEXT_VARIATION_PASSWORD)
.editInputType(InputType.TYPE_TEXT_VARIATION_PASSWORD)
.editable(true)
.build()
)
}
override fun onCreateButtonActions(actions: MutableList<GuidedAction>,
savedInstanceState: Bundle?) {
actions.add(GuidedAction.Builder(activity)
.clickAction(GuidedAction.ACTION_ID_OK)
.build()
)
actions[actions.size - 1].isEnabled = false
}
override fun onGuidedActionEditedAndProceed(action: GuidedAction?): Long {
if (action?.id == ACTION_ID_EMAIL) {
// todo validate
action.description = action.editTitle;
return GuidedAction.ACTION_ID_NEXT;
}
if (action?.id == ACTION_ID_PASSWORD) {
action.description = action.editTitle;
return GuidedAction.ACTION_ID_NEXT;
}
return super.onGuidedActionEditedAndProceed(action)
}
}
如何使密码输入的行为类似于密码字段?
解决方案
下面的作品
GuidedAction.Builder(activity)
.id(PASSWORD.toLong())
.title("Password")
.descriptionEditable(true)
.descriptionInputType(InputType.TYPE_CLASS_TEXT or InputType.TYPE_TEXT_VARIATION_PASSWORD)
.descriptionEditInputType(InputType.TYPE_CLASS_TEXT or InputType.TYPE_TEXT_VARIATION_PASSWORD)
.build()
推荐阅读
- nginx - nginx 在代理 ssl 中将 http 重定向到 https
- python - 如何只提取头发部分而不改变图像大小?
- flutter - 如何使用 Flutter 将 BASE64 字符串转换为图像?
- dart - _InternalLinkedHashMap
' 不是类型 'List 的子类型 ' 在类型转换中 - javascript - Electron preload.js 没有按照预期的方式运行
- html - 将单独的链接对齐到右侧
- php - if else if - 不返回所需的图像
- c# - 如何在 c# 中显示 Sharepoint 列表中的项目标题
- docker - RuntimeWarning:在导入包“nltk”后但在执行“nltk.downloader”之前在 sys.modules 中找到“nltk.downloader”
- angular - 我无法将 Angular 组件与我的后端的一条路由链接(localhost:3000/list/:page?)