【问题标题】:How to disable android soft keyboard when working in cordova application在cordova应用程序中工作时如何禁用android软键盘
【发布时间】:2016-03-09 11:58:39
【问题描述】:

我有一个从 web 加载 html 页面的 cordova 应用程序。现在这些网页都有输入字段,所以当点击这些输入字段时会出现android默认键盘。我不想使用这个键盘,因为已经有自定义键盘作为侧面应用程序中的弹出窗口。 我尝试什么:在 androidManifest.xml 中的我的活动中添加以下配置

  <activity
        android:name=".MainActivity"
        android:screenOrientation="sensorLandscape"
        android:label="@string/app_name"
        android:windowSoftInputMode="adjustResize|stateHidden"
       android:configChanges="keyboardHidden|orientation|screenSize">

但是没有什么可以阻止这个默认键盘的出现。有人可以建议我如何仅为我的应用程序禁用键盘。

【问题讨论】:

    标签: android cordova jquery-mobile phonegap-plugins


    【解决方案1】:

    您需要在 Manifest 中添加这一行。

     <activity android:name=".MainActivity" 
                  android:windowSoftInputMode="stateHidden" />
    

    Look at this answer.

    【讨论】:

    • 抱歉,即使这样也无法正常工作。这是清单中的更改:
    • 如果 android 应用程序使用 EditText,它可以工作。我试图消除对网页输入字段及其工作的关注,但是由于我正在浏览不同的网页,所以我无法消除对每个页面上输入的关注,因此我正在查看我的 android 应用程序中的某些内容。
    【解决方案2】:

    不是一个好方法,但有效:

     @Override
    public boolean dispatchTouchEvent(MotionEvent ev) {
        super.dispatchTouchEvent(ev);
        new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
                InputMethodManager inputManager = (InputMethodManager)
                        getSystemService(Context.INPUT_METHOD_SERVICE);
    
                inputManager.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(),
                        InputMethodManager.HIDE_NOT_ALWAYS);
            }
        }, 100);
        return true;
    }
    

    【讨论】:

      猜你喜欢
      • 2014-01-18
      • 1970-01-01
      • 2020-09-18
      • 1970-01-01
      • 1970-01-01
      • 2011-11-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多