Roshni
Roshni

Reputation: 61

SoftkeyBoard appear and disappear event in android

How to find event for softkeyboard visible or invisible. I want to catch event when keyboard gets appears and onback press it disappears. I am able catch event for Done button press and it works fine.

Any help appreciated. Thanks in advance.

Upvotes: 0

Views: 187

Answers (1)

Roshni
Roshni

Reputation: 61

final View activityRootView = rellayLoginParent;
        activityRootView.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener()
            {
                @Override
                public void onGlobalLayout()
                    {
                        Rect r = new Rect();
                        // r will be populated with the coordinates of your view that area still visible.
                        activityRootView.getWindowVisibleDisplayFrame(r);

                        int heightDiff = activityRootView.getRootView().getHeight() - (r.bottom - r.top);
                        //MyLog.w("height difference is", "" + heightDiff);
                        if (heightDiff > 100)
                            { // if more than 100 pixels, its probably a keyboard...
                                /*isKeyBoardVisible = false;
                                linlayAdLayout.setVisibility(View.GONE);*/
                                Log.e("Keyboard Visibilitty","Visible");
                                if(lytAppHeader.getVisibility() == View.VISIBLE)
                                    {
                                        lytAppHeader.setVisibility(View.GONE);
                                    }
                            }
                        else
                            {
                                //linlayAdLayout.setVisibility(View.VISIBLE);
                                Log.e("Keyboard Visibilitty","InVisible + Gone");
                                if(lytAppHeader.getVisibility() == View.GONE)
                                    {
                                        lytAppHeader.setVisibility(View.VISIBLE);
                                    }
                            }

                    }
            });

Upvotes: 1

Related Questions