zoukankan      html  css  js  c++  java
  • 阻止点击numberpicker(edittext)时候弹出输入法

    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);
  • 相关阅读:
    win7 64bit下使用PL/SQL Developer连接Oracle
    C#高级开发之 特性(Attribute)三
    K3单据表结构描述和相关关联SQL语句以及金蝶插件相关说明
    K3老单插件控制字段显示
    金蝶K3插件开发-控制单据焦点(BOS单据、工业单据)
    K3 单据,单据体自定义字段显示及时库存
    C#高级开发之反射(Reflection)二
    C#高级开发之泛型一
    python学习——协程
    python学习——线程
  • 原文地址:https://www.cnblogs.com/slider/p/2973635.html
Copyright © 2011-2022 走看看