需求:
現(xiàn)在有一個需求是點擊一行文本框,彈出一個之前隱藏的輸入框,輸入完成后按返回鍵或者其他的東西隱藏鍵盤和輸入框,將輸入框的內(nèi)容填充到文本框中。
實現(xiàn):
拿到這個需求的第一反應(yīng)就是寫一個監(jiān)聽來監(jiān)聽鍵盤的顯示和隱藏來控制輸入框的顯示和隱藏,控制文本框中的內(nèi)容。
所以我做了如下操作:
@Override public void onLayoutChange(View v, int left, int top, int right, int bottom, int oldLeft, int oldTop, int oldRight, int oldBottom) { //old是改變前的左上右下坐標點值,沒有old的是改變后的左上右下坐標點值 //現(xiàn)在認為只要控件將Activity向上推的高度超過了1/3屏幕高,就認為軟鍵盤彈起 if(oldBottom != 0 && bottom != 0 &&(oldBottom - bottom > keyHeight)){ Toast.makeText(MainActivity.this, "監(jiān)聽到軟鍵盤彈起...", Toast.LENGTH_SHORT).show(); }else if(oldBottom != 0 && bottom != 0 &&(bottom - oldBottom > keyHeight)){ Toast.makeText(MainActivity.this, "監(jiān)聽到軟件盤關(guān)閉...", Toast.LENGTH_SHORT).show(); } }