在修复我的Android应用程序中的另一个问题之后,我又来了另一件事。
重要的是我可以做一些事情,比如隐藏一些视觉元素,如果SoftKeyboard这样输入像Swipe或普通的Android键盘那样显示。
我已经尝试了onConfigurationChange =“KeyboardShow”(伪代码),但是在显示skype时没有更改来获取事件。
所以现在我的问题是,是否有任何解决方案或功能或监听器,我可以用它来处理这样的行为?
我希望有人可以帮助我。
诚恳, Mike Penz
答案 0 :(得分:0)
可能有更好的方法,但有可能在清单中添加:android:configChanges="keyboardHidden"
。任何键盘更改都会触发,因此您需要查询Configuration
对象
static Configuration prevConf = Configuration();
static int ignoreMasks = Configuration.HARDKEYBOARDHIDDEN_NO|Configuration.HARDKEYBOARDHIDDEN_YES;
onCreate() {
prevConf = setToDefaults();
}
// all your code here
@Override
public void onConfigurationChanged (Configuration newConfig) {
int deltas = newConfig.diff (prevConf); // what changed?
prevConf = newConfig;
if (delta & ignoreMasks)
return; // you're not interested in hard keyboards.
// your code here
}
我对按位运算符感到厌烦,所以你可能需要解决这个问题。
这是API文档:
http://developer.android.com/reference/android/R.attr.html#configChanges
http://developer.android.com/reference/android/content/res/Configuration.html