我读过很多线索,但我看得不太清楚。如何捕捉键盘的关闭?
发布于 2012-01-16 13:59:50
您可以执行以下操作来检测硬件密钥板是否显示/隐藏
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
// if a hardware keyboard is available
if (newConfig.hardKeyboardHidden == Configuration.HARDKEYBOARDHIDDEN_NO) {
Toast.makeText(this, "keyboard visible", Toast.LENGTH_SHORT).show();
} else if (newConfig.hardKeyboardHidden == Configuration.HARDKEYBOARDHIDDEN_YES) {
Toast.makeText(this, "keyboard hidden", Toast.LENGTH_SHORT).show();
}
}您可以围绕执行以下操作,以检测虚拟密钥板是否显示/隐藏
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
final int proposedheight = MeasureSpec.getSize(heightMeasureSpec);
final int actualHeight = getHeight();
if (actualHeight > proposedheight){
// Keyboard is shown
} else {
// Keyboard is hidden
}
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
}要了解如何实现,请检查这个答案https://stackoverflow.com/a/7423586/864955
https://stackoverflow.com/questions/8881020
复制相似问题