omega
omega

Reputation: 43843

How to prevent keyboard from opening when activity is opened in android?

In my android app, in my profile edit page, when I start the activity, the first edittext field is focused (blinking cursor), and the keyboard gets displayed.

How can I keep it being focused on startup (blinking cursor) but prevent the keyboard from showing up? If that is not possible, then just not focus the edittext on startup.

Thanks.

        <EditText
            android:id="@+id/textinput_firstname"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:ems="10"
            android:inputType="textPersonName"
            android:text="test" />

Upvotes: 9

Views: 5360

Answers (2)

Harshit Jain
Harshit Jain

Reputation: 970

This is probably happening for EditText for most users, all you have to do is, just go to the layout file and set the layout's view groups attributes as follows:

 android:focusable="true"
 android:focusableInTouchMode="true"

For Example.

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:orientation="vertical"
    android:background="@color/colorPrimary"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity"
    android:focusable="true"
    android:focusableInTouchMode="true"> 
    <EditText
        android:layout_width="match_parent"
        android:layout_height="41dp"
      />
</LinearLayout>

Note: you have to set the attributes for the first view in the layout no matter what it is This will set the default focus to false;

Upvotes: 2

Salman Khakwani
Salman Khakwani

Reputation: 6714

Just add this line of code in your onCreate(...) method

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

Upvotes: 18

Related Questions