2011-05-11 64 views

回答

5

你必须@OverrideonConfigurationChanged能够处理运行时的变化:从here采取

@Override 
public void onConfigurationChanged(Configuration newConfig) { 
    super.onConfigurationChanged(newConfig); 

    // Checks whether a hardware or on-screen keyboard is available 
    if (newConfig.keyboardHidden == Configuration.KEYBOARDHIDDEN_NO) { 
     Toast.makeText(this, "Keyboard visible", Toast.LENGTH_SHORT).show(); 
    } else if (newConfig.keyboardHidden == Configuration.KEYBOARDHIDDEN_YES) { 
     Toast.makeText(this, "Keyboard hidden", Toast.LENGTH_SHORT).show(); 
    } 
} 

例。查看here,了解您可能想要使用的键盘相关(以及其他)字段。


编辑(RivieraKid):更改为考虑硬屏或屏幕键盘。

+2

虽然这只适用于硬件键盘 - 没有给出软件键盘的通知:( – Torp 2011-05-11 10:02:51

+0

您可能想要将newConfig.hardKeyboardHidden更改为newConfig.keyboardHidden,它也处理屏幕键盘 – RivieraKid 2011-05-11 10:03:10

+0

没关系 - 是否为你;-) – RivieraKid 2011-05-11 10:21:17

相关问题