Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android App start with virtual keyboard open

Tags:

android

I am writing an app for android phones and after my splash screen it shows an activity which has several spinners and edittext views.

On an android device without a keyboard it shows the virtual keyboard which then blocks the rest of the app and looks unprofessional to me. I have tried to hide the virtual keyboard in the activity.onCreate method however no avail there.

My next option I tried was setting an onFocus listener to the actual offending edittext view and still no avail.

How can I prevent the virtual keyboard from showing until a user explicitly clicks an edittext view? Is there a way to give one of the spinner's focus since one of the spinners is before the edittext view in the layout xml?

like image 890
jeep Avatar asked Jul 31 '10 18:07

jeep


2 Answers

You can try setting the android:windowSoftInputMode attribute of your Activity's entry in the AndroidManifest.xml file. I think setting it to stateHidden might do what you want.

Here's the docs from the Android site.

like image 63
mportuesisf Avatar answered Nov 16 '22 02:11

mportuesisf


You can try this:

Oncreate of your activity, set the input type to TYPE_NULL. Then, onTouch, set it to TYPE_CLASS_TEXT.

    myText.setInputType(InputType.TYPE_NULL);

    myText.setOnTouchListener(new View.OnTouchListener() {
        public boolean onTouch(View v, MotionEvent event) {
        myText.setInputType(InputType.TYPE_CLASS_TEXT);
        myText.onTouchEvent(event); // call native handler
        return true; // consume touch even
        } 
    });
like image 35
Chris Avatar answered Nov 16 '22 03:11

Chris