Прослушать показ клавиатуры или скрыть событие в android

Я пытаюсь слушать события, которые появляются, когда клавиатура отображается или скрыта. Возможно ли это в Android? Я не пытаюсь понять, отображается ли клавиатура или скрывается, когда я начинаю свою деятельность, я хотел бы слушать события.

Solutions Collecting From Web of "Прослушать показ клавиатуры или скрыть событие в android"

Попробуйте под кодом: –

// from the link above @Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); // Checks whether 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(); } } 

или

 boolean isOpened = false; public void setListnerToRootView(){ final View activityRootView = getWindow().getDecorView().findViewById(android.R.id.content); activityRootView.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() { @Override public void onGlobalLayout() { int heightDiff = activityRootView.getRootView().getHeight() - activityRootView.getHeight(); if (heightDiff > 100 ) { // 99% of the time the height diff will be due to a keyboard. Toast.makeText(getApplicationContext(), "Gotcha!!! softKeyboardup", 0).show(); if(isOpened == false){ //Do two things, make the view top visible and the editText smaller } isOpened = true; }else if(isOpened == true){ Toast.makeText(getApplicationContext(), "softkeyborad Down!!!", 0).show(); isOpened = false; } } }); } 

или

Для кода ниже вы должны расширить LinearLayout.

 @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); } 

См. Ссылку ниже:

Как захватить событие «виртуальная клавиатура show / hide» в Android?