Android 180385的InputType标志代表什么?
背景:我正在创建一个自定义系统键盘,并在onStartInputView中使用EditorInfo info.inputType来了解我是否在密码字段中。这通常是可行的,但在Gmail Android应用程序上,compose块给了我一个180385的标志,这表示它是一个密码字段,但它肯定不是密码字段 问题:180385的inputType标志代表什么 我迄今为止的努力: 180385=1+32+128+16384+32768+131072Android 180385的InputType标志代表什么?,android,Android,背景:我正在创建一个自定义系统键盘,并在onStartInputView中使用EditorInfo info.inputType来了解我是否在密码字段中。这通常是可行的,但在Gmail Android应用程序上,compose块给了我一个180385的标志,这表示它是一个密码字段,但它肯定不是密码字段 问题:180385的inputType标志代表什么 我迄今为止的努力: 180385=1+32+128+16384+32768+131072 既然128表示editfield是一个密码,我将其解
既然128表示editfield是一个密码,我将其解释为我选择了一个密码字段。但我没有。我的逻辑出了什么问题?我对这个主题不太熟悉,但看看EditorInfo的源代码,它显示了以下评论:
/**
* Masks for {@link inputType}
*
* <pre>
* |-------|-------|-------|-------|
* 1111 TYPE_MASK_CLASS
* 11111111 TYPE_MASK_VARIATION
* 111111111111 TYPE_MASK_FLAGS
* |-------|-------|-------|-------|
* TYPE_NULL
* |-------|-------|-------|-------|
* 1 TYPE_CLASS_TEXT
* 1 TYPE_TEXT_VARIATION_URI
* 1 TYPE_TEXT_VARIATION_EMAIL_ADDRESS
* 11 TYPE_TEXT_VARIATION_EMAIL_SUBJECT
* 1 TYPE_TEXT_VARIATION_SHORT_MESSAGE
* 1 1 TYPE_TEXT_VARIATION_LONG_MESSAGE
* 11 TYPE_TEXT_VARIATION_PERSON_NAME
* 111 TYPE_TEXT_VARIATION_POSTAL_ADDRESS
* 1 TYPE_TEXT_VARIATION_PASSWORD
* 1 1 TYPE_TEXT_VARIATION_VISIBLE_PASSWORD
* 1 1 TYPE_TEXT_VARIATION_WEB_EDIT_TEXT
* 1 11 TYPE_TEXT_VARIATION_FILTER
* 11 TYPE_TEXT_VARIATION_PHONETIC
* 11 1 TYPE_TEXT_VARIATION_WEB_EMAIL_ADDRESS
* 111 TYPE_TEXT_VARIATION_WEB_PASSWORD
* 1 TYPE_TEXT_FLAG_CAP_CHARACTERS
* 1 TYPE_TEXT_FLAG_CAP_WORDS
* 1 TYPE_TEXT_FLAG_CAP_SENTENCES
* 1 TYPE_TEXT_FLAG_AUTO_CORRECT
* 1 TYPE_TEXT_FLAG_AUTO_COMPLETE
* 1 TYPE_TEXT_FLAG_MULTI_LINE
* 1 TYPE_TEXT_FLAG_IME_MULTI_LINE
* 1 TYPE_TEXT_FLAG_NO_SUGGESTIONS
* |-------|-------|-------|-------|
* 1 TYPE_CLASS_NUMBER
* 1 TYPE_NUMBER_VARIATION_PASSWORD
* 1 TYPE_NUMBER_FLAG_SIGNED
* 1 TYPE_NUMBER_FLAG_DECIMAL
* |-------|-------|-------|-------|
* 11 TYPE_CLASS_PHONE
* |-------|-------|-------|-------|
* 1 TYPE_CLASS_DATETIME
* 1 TYPE_DATETIME_VARIATION_DATE
* 1 TYPE_DATETIME_VARIATION_TIME
* |-------|-------|-------|-------|</pre>
*/
/**
*{@link inputType}的掩码
*
*
* |-------|-------|-------|-------|
*1111型屏蔽级
*11111111型掩模变型
*111111111111类型屏蔽标志
* |-------|-------|-------|-------|
*类型为空
* |-------|-------|-------|-------|
*1类型\类别\文本
*1类型\文本\变体\ URI
*1键入\文本\变体\电子邮件\地址
*11类型\文本\变更\电子邮件\主题
*1.输入文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字
*1 1 1输入\u文本\u变体\u长消息
*11类型\文本\变体\人员\姓名
*111类型\文本\变体\邮政地址
*1键入\u文本\u变体\u密码
*1 1键入\u文本\u变体\u可见\u密码
*1 1输入\文本\变体\网络\编辑\文本
*11类型\文本\变化\过滤器
*11类型\文本\变体\语音
*11.1键入文字、变体、网页、电子邮件地址
*111类型\文本\变体\网络\密码
*1输入\文本\标志\大写\字符
*1输入文字、标志、大写字母
*1输入\文本\标志\大写\句子
*1输入\文本\标志\自动\正确
*1输入\文本\标志\自动\完成
*1类型\文本\标志\多行
*1输入\文本\标志\输入\多行
*1键入\u文本\u标志\u无建议
* |-------|-------|-------|-------|
*1类型\类别\编号
*1输入\编号\变更\密码
*1类型\编号\标志\签名
*1类型\编号\标志\小数
* |-------|-------|-------|-------|
*11类电话
* |-------|-------|-------|-------|
*1类型\u类\u日期时间
*1类型\日期时间\变更\日期
*1类型\u日期时间\u变化\u时间
* |-------|-------|-------|-------|
*/
128+32的组合似乎使标志的这一部分成为类型、文本、变体、WEB、编辑、文本 多谢各位。我想这就是为什么其他代码库使用
info.inputType&EditorInfo.TYPE\u MASK\u VARIATION
来提取这些信息。考虑到我根本不知道你在说什么,这可能是我很长时间以来看到的最奇怪的问题:)问得好,回答得好