如何检测android窗口上的键盘-钛Appcelerator

如何检测android窗口上的键盘-钛Appcelerator,android,keyboard,appcelerator,appcelerator-titanium,Android,Keyboard,Appcelerator,Appcelerator Titanium,我需要一些东西来验证android应用程序窗口中是否存在键盘。。。问题是我无法测试焦点/模糊输入,需要检查键盘。。。我看到了Appcelerator的官方文档,该功能仅适用于iOS。。。有人有解决办法吗 iOS的键盘可见属性: 没有任何直接的方法可以做到这一点。但有些技巧可能会奏效。试试这个 final View activityRootView = findViewById(R.id.activityRoot); activityRootView.getViewTreeObserver().a

我需要一些东西来验证android应用程序窗口中是否存在键盘。。。问题是我无法测试焦点/模糊输入,需要检查键盘。。。我看到了Appcelerator的官方文档,该功能仅适用于iOS。。。有人有解决办法吗

iOS的键盘可见属性:


没有任何直接的方法可以做到这一点。但有些技巧可能会奏效。试试这个

final View activityRootView = findViewById(R.id.activityRoot);
activityRootView.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
    int heightDiff = activityRootView.getRootView().getHeight() - activityRootView.getHeight();
    if (heightDiff > 100) { // if more than 100 pixels, its probably a keyboard...
        ... do something here
    }
  }
});

没有任何直接的方法可以做到这一点。但有些技巧可能会奏效。试试这个

final View activityRootView = findViewById(R.id.activityRoot);
activityRootView.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
    int heightDiff = activityRootView.getRootView().getHeight() - activityRootView.getHeight();
    if (heightDiff > 100) { // if more than 100 pixels, its probably a keyboard...
        ... do something here
    }
  }
});

没有本机方法检测键盘是否可见;如果您需要在用户打开窗口时显示键盘,请在“打开”和“恢复”中添加一个侦听器(此侦听器来自活动,而不是窗口,并且在应用程序从后台转到前台时也会触发),以实现聚焦您领域的功能,如果您需要知道键盘何时打开以更改布局,android已经在尝试为您安装它(在本例中,将所有内容都放在scrollview中)。

没有本地方法检测键盘是否可见;如果您需要在用户打开窗口时显示键盘,请在“打开”和“恢复”中添加一个侦听器(此侦听器来自活动,而不是窗口,并且在应用程序从后台转到前台时也会触发),以实现聚焦您领域的功能,如果您需要知道键盘何时打开以更改布局,android已经在尝试为您安装它(在本例中,将所有内容都放在scrollview中)。

在iOS上,您可以收听该活动。对于Android,您可能可以使用其中一个。在iOS上,您可以收听事件。对于Android,您可能可以使用其中一个。

感谢您的回复朋友,但我正在使用Appcelerator Titanium(js)构建我的应用程序。。。不是本地的…感谢朋友的回复,但我正在使用Appcelerator Titanium(js)构建我的应用程序。。。不是本地人。。。