[英]Any android event when keyboard slide out
当用户在带键盘的手机上滑出键盘时,我可以听到任何意图/事件吗?
谢谢。
在您的清单文件中,将其添加到您的活动定义: android:configChanges="keyboard|keyboardHidden"
并在您的Activity java文件中,重写onConfigurationChanged
方法:
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
if(newConfig.hardKeyboardHidden == Configuration.HARDKEYBOARDHIDDEN_NO) {
//handle keyboard slide out event
}
else if(newConfig.hardKeyboardHidden == Configuration.HARDKEYBOARDHIDDEN_YES)
//handle keyboard slide in event
}
}
当键盘事件在此活动中触发时,将调用此方法,您可以执行任何操作。
您可以收听ACTION_CONFIGURATION_CHANGED
广播。 @schwiz和@binnyb提供的解决方案存在一个重大缺陷 - 它们迫使您处理配置更改的所有实际工作。 这可能是必要的,但你可以更好地服务于不覆盖android:configChanges
,并使用onSaveInstanceState()
和onRetainNonConfigurationInstance()
来处理实际的配置更改。
在您的Activity覆盖onConfigurationChanged()
public void onConfigurationChanged(Configuration newConfig){
if(newConfig.hardKeyboardHidden == Configuration.HARDKEYBOARDHIDDEN_NO){
//slideout detected
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.