1.首先说说默认不显示输入法,这里通常又三种:
在 AndroidMainfest.xml中选择哪个activity,设置windowSoftInputMode属性为 adjustUnspecified|stateHidden
< activity android:name=".Main"
android:label="@string/app_name"
android:windowSoftInputMode="adjustUnspecified|stateHidden"
android:configChanges="orientation|keyboardHidden"> //这里我没有输入也是可以的
< intent-filter>
< action android:name="android.intent.action.MAIN" />
< category android:name="android.intent.category.LAUNCHER" />
< /intent-filter>
< /activity>
方法二:
让 EditText失去焦点,使用EditText的clearFocus方法
例如:
EditText edit=(EditText)findViewById(R.id.edit);
edit.clearFocus();
方法三:
强制隐藏Android输入法窗口
例如:
EditText edit=(EditText)findViewById(R.id.edit);
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(edit.getWindowToken(),0);
然后就说说numberpicker。找个是android3.0之后才有的一个控件,总的来说并不美观(很多人会用想numberwheelpicker之类的控件),但还是蛮使用的。很多情况下并不希望点击numberpicker时候弹出输入法。所以又下面的解决办法,本质还是处理edittext哦:
numberPicker = (NumberPicker)findViewById(R.id.numPicker); numberPicker.setMaxValue(100); numberPicker.setMinValue(0); numberPicker.setWrapSelectorWheel(false); String[] nums = new String[100]; for(int i=0; i<nums.length; i++) nums[i] = Integer.toString(i); numberPicker.setDisplayedValues(nums); numberPicker.setFocusable(false); numberPicker.setValue(1); ((EditText) numberPicker.getChildAt(1)).setOnFocusChangeListener(new OnFocusChangeListener() { @Override public void onFocusChange(View v, boolean hasFocus) { // do nothing } }); // Suppress soft keyboard from the beginning ((EditText) numberPicker.getChildAt(1)).setInputType(InputType.TYPE_NULL);