Android如何自动弹出软键盘?

Android如何自动弹出软键盘?

  • 方法1
  • 方法2
    • [步骤1 添加windowSoftInputMode属性](#步骤1 添加windowSoftInputMode属性)
    • [步骤2 请求textinput焦点](#步骤2 请求textinput焦点)

方法1

直接在resume中控制弹出。不过需要一定的延时提交,因为需要保证当前的窗口是正在被服务的窗口。

java 复制代码
@Override
protected void onResume() {
    super.onResume();
    // 显示软键盘
    textInputEditText.postDelayed(() -> {
        textInputEditText.requestFocus();
        InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
        if (imm != null) {
            imm.showSoftInput(textInputEditText, InputMethodManager.SHOW_IMPLICIT);
        }
    }, 500);
}

显示不成功的log:

java 复制代码
Ignoring showSoftInput() as view=com.google.android.material.textfield.TextInputEditText{5ecc3f4 VFED..CL. .F...... 0,0-1074,146 #7f0801c0 app:id/textview aid=1073741824} is not served.

方法2

系统自动管理输入法显示

步骤1 添加windowSoftInputMode属性

  • stateVisible: 当页面打开时,如果有焦点的输入框,自动显示输入法。
  • adjustResize:键盘弹出时,Activity 内容会自动上移避免被遮挡。
xml 复制代码
<activity android:name=".SearchActivity"
    android:windowSoftInputMode="stateVisible|adjustResize"/>

步骤2 请求textinput焦点

这个可以放在onCreate或onResume都可以。

java 复制代码
 textInputEditText.requestFocus();

或:

加上

xml 复制代码
<com.google.android.material.textfield.TextInputEditText
    android:id="@+id/textview"

    android:layout_marginTop="30dp"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:hint="hint" >
    <requestFocus />  
</com.google.android.material.textfield.TextInputEditText>
相关推荐
JohnnyDeng942 小时前
Android 包体积优化:R8/ProGuard 深度配置
android
qq_452396232 小时前
第六篇:《JMeter逻辑控制器:循环、条件和交替执行》
android·java·jmeter
cwzqf4 小时前
Jectpack Compose项目组件代码分享(1):分页加载组件
android
@北海怪兽4 小时前
SQL常见函数整理 _ STRING_AGG()
android·数据库·sql
鹏晨互联5 小时前
【Compose vs XML:边框内外间距的实现对比】
android·xml
Android系统攻城狮5 小时前
Android tinyalsa深度解析之pcm_plugin_write调用流程与实战(一百七十九)
android·pcm·tinyalsa·android16·音频进阶·android音频进阶
ID_180079054736 小时前
除了JSON,淘宝店铺商品API接口还支持哪些数据格式?
android·数据库
KillerNoBlood6 小时前
2026移动端跨平台开发面经总结
android·算法·flutter·ios·移动开发·鸿蒙·kmp
消失的旧时光-19436 小时前
Android / IoT 面试复盘总结:从 MQTT、TLS 到 JWT 权限体系(标准答案 + 工程理解 + 延伸知识链)
android·物联网·面试
林多8 小时前
【Android】 GPU过度绘制实现原理
android·gpu·性能·实现原理·过度绘制·overdraw