无法在特定布局Android下显示PopUpWindow

时间:2017-09-27 14:19:39

标签: android android-layout

我想在点击按钮后关闭软键盘后在LinearLayout下显示一个PopUpWindow。

这就是我要找的

当用户点击按钮,键盘隐藏,然后PopUpWindow显示在LinearLayout(键盘区域最初)下。如下图所示

This is what I looking for

我试试这段代码:

button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            //hide the keyboard
            InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
            imm.hideSoftInputFromWindow(v.getWindowToken(), 0);

            LinearLayout bottomBar = (LinearLayout)findViewById(R.id.bottomBar);

            LayoutInflater inflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);
            View popupView = inflater.inflate(R.layout.popup_window, null);

            // create the popup window
            int width = LinearLayout.LayoutParams.MATCH_PARENT;
            int height = LinearLayout.LayoutParams.WRAP_CONTENT;
            boolean focusable = true; dismiss it
            final PopupWindow popupWindow = new PopupWindow(popupView, width, height, focusable);

            // show the popup window
            popupWindow.showAtLocation(bottomBar, Gravity.BOTTOM, 0, 0);
       }
   }

但最终显示PopUpWindow这样的节目:

包含按钮的LinearLayout,当键盘隐藏时显示在屏幕底部,PopUpWindow显示在LinearLayout之上,因此它变得不可见。就像图片如下:

enter image description here

那么我怎样才能获得第一张照片的欲望行为?键盘隐藏后LinearLayout下的PopUpWindow显示。

1 个答案:

答案 0 :(得分:0)

为什么要尝试使用弹出窗口执行此操作。我建议你保持简单的布局。此布局将包含两个视图(带按钮的布局和其下的弹出布局)。只需在屏幕底部添加此布局,并在需要时设置弹出布局可见性的可见性VISIBLE / GONE。您可以在显示或隐藏弹出布局的同时添加动画: Show/Hide View using Slide Up and Down Animation