Android App start with virtual keyboard open
I am writing an app for android phones and after my splash screen it shows an activity which has several 开发者_C百科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?
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.
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
}
});
There are several more answers with another experience on this issue in thread Automatic popping up keyboard on start Activity
精彩评论