Android 输入法管理 官网摘要

输入法可见性Android系统根据输入焦点或移出可编辑的文本字段时 来 显示或隐藏输入法以及输入法界面的和文本字段在输入法上的显示方式Android 会在 Activity 启动时将焦点移至布局中的第一个文本字段,但它不会显示输入法,此行为是恰当的,因为输入文本可能不是 Activity 中的主要任务输入文本确实是主要任务(例如在登录屏幕中),那么您可能希望默认显示输入法。如果用户的设备连接了硬件键盘,则不会显示软输入法。根据需要显示输入法Activity 的生命周期中有一个方法,您希望为其确保
摘要由CSDN通过智能技术生成

输入法可见性

Android系统根据输入焦点或移出可编辑的文本字段时 来 显示或隐藏输入法以及输入法界面的和文本字段在输入法上的显示方式
Android 会在 Activity 启动时将焦点移至布局中的第一个文本字段,但它不会显示输入法,此行为是恰当的,因为输入文本可能不是 Activity 中的主要任务

输入文本确实是主要任务(例如在登录屏幕中),那么您可能希望默认显示输入法。
如果用户的设备连接了硬件键盘,则不会显示软输入法。

根据需要显示输入法

Activity 的生命周期中有一个方法,您希望为其确保输入法是可见的,则可以使用 InputMethodManager 来显示它

    public void showSoftKeyboard(View view) {
   
        if (view.requestFocus()) {
   
            InputMethodManager imm = (InputMethodManager)
                    getSystemService(Context.INPUT_METHOD_SERVICE);
            imm.showSoftInput(view, InputMethodManager.SHOW_IMPLICIT);
        }
    }
    

输入法显示后,您不应以编程方式将其隐藏。当用户完成文本字段中的任务时,系统会隐藏输入法,或者用户可以使用系统控件(例如使用“返回”按钮)隐藏输入法

指定界面的响应方式(adjust×××)

系统会决定应如何调整界面的可见部分,但可能操作不正确。为了确保应用具有最佳行为,您应该指定希望系统如何在剩余空间中显示界面。

要确保系统将布局大小调整为可用空间,以确保所有布局内容均可访问(尽管可能需要滚动),请使用 “adjustResize”

如果您使用相对布局将按钮栏放置在屏幕底部,则使用 “adjustResize” 会调整布局大小,使得按钮栏显示在输入法上方

指定输入法类型(电子邮件地址、电话号码或纯文本)

您应该始终通过向 元素添加 android:inputType 属性来声明文本字段的输入法。为输入法指定各种行为
最重要的是,如果文本字段是用于输入基本文本(例如短信),则应该使用 “textAutoCorrect” 值启用自动拼写更正

指定输入法操作(下一步,完成,发送)

认情况下,系统会使用此按钮执行下一步或完成操作,除非文本字段允许输入多行文本(例如使用 android:inputType=“textMultiLine”),在这种情况下,此操作按钮即为回车符

要指定键盘操作按钮,请使用操作值为 “actionSend” 或 “actionSearch” 等的 android:imeOptions 属性

然后,您可以通过定义 TextView.OnEditorActionListener(针对 EditText 元素),监听按下操作按钮的操作。在监听器中,响应在 EditorInfo 类中定义的相应 IME 操作 ID,例如 IME_ACTION_SEND

    EditText editText = (EditText) findViewById(R.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值