应用启动时自动弹出软件键盘

Automatically popup software keyboard when the app starts

我在主页上有一个 editText。我希望键盘在应用程序启动时自动打开并专注于该 editText。我尝试了很多 "solutions" 我在 Internet 上找到的方法,但没有任何帮助。 键盘仍然不会自动出现。 顺便说一句,我的 editText 具有以下属性:

<EditText
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/editText"
    android:gravity="left"
    android:focusable="true"
    android:enabled="true"
    android:focusableInTouchMode="true" />

那么如何让键盘自动出现呢?

android:windowSoftInputMode="stateAlwaysVisible" 添加到 AndroidManifest.xml 文件中的 activity 标签

<activity 
    android:name=".TestActivity"
    android:windowSoftInputMode="stateAlwaysVisible" />

也在 EditText 中使用 requestFocus 标签。

<EditText
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/editText"
    android:gravity="left"
    android:focusable="true"
    android:enabled="true"
    android:focusableInTouchMode="true">
    <requestFocus />
</EditText>

在 activity 的 onCreate() 方法上初始化布局后调用 myeditText.requestFocus()。

你必须做两件事(我刚刚测试过,它工作得很好):

1: 请求对该字段的关注。 从 activity java 文件你可以做

   mTextView = (EditText) findViewById(R.id.textView);
   mTextView.requestFocus();

您可以从 XML 文件重写您的元素,如下所示:

<EditText android:id="@+id/textView">
    <requestFocus/>
</EditText>

2: 显示 activity 时强制键盘:在 onCreate 方法中只需写下这一行:

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE);