显示文本建议视图时如何监听

时间:2013-11-20 04:56:52

标签: android textview android-edittext android-view android-softkeyboard

我有一个登录活动,其中有3个Edittext,一个登录按钮和底部有2个单选按钮。

我的要求是在文本建议视图出现时隐藏底部的单选按钮,并在文本建议视图出现时显示。

我的活动是这样的

enter image description here enter image description here

是否有任何收听方法,是否显示文字建议视图?

2 个答案:

答案 0 :(得分:1)

我不确定,任何会告诉你有关文字建议等的方法。

但是我们可以这样做!!

我建议你做的是,做一个小技巧来检查键盘是否显示建议。

在我的项目中,我正在玩键盘。

因此,当屏幕上出现第一次键盘时,我们可以获得键盘高度,当您开始输入时,如果建议会出现,那么您的键盘高度将会改变。这样您可以检查建议是否是打开或关闭。

所以我在这里分享我的代码,用于计算你可以使用的键盘高度。

/**
     * This method is to calculate Virtual Keypad Height
     * 
     * 
     * @param no params
     *            
     * @return no return value
     * @author Ramdhan
     */
    private void getKeypadHeight() 
    {
        Log.v("RDC", "Keypad Height");
        final View activityRootView = findViewById(R.id.activityRoot);
        activityRootView.getViewTreeObserver()
        .addOnGlobalLayoutListener(new OnGlobalLayoutListener() 
                {
                    @Override
                    public void onGlobalLayout() 
                    {
                        Log.v("RDC", "onGlobalLayout");

                        Rect r = new Rect();
                        activityRootView.getWindowVisibleDisplayFrame(r);

                        int screenHeight = activityRootView.getRootView()
                                .getHeight();
                        int heightDifference = screenHeight
                                - (r.bottom - r.top);
                        Log.d("Keyboard Size", "Size: " + heightDifference);

                        Display display = getWindowManager()
                                .getDefaultDisplay();
                        int width = 0;
                        int height = 0;
                        if (android.os.Build.VERSION.SDK_INT >= 13) {
                            Point size = new Point();
                            display.getSize(size);
                            width = size.x;
                            height = size.y;
                        } else // for lower versions
                        {
                            width = display.getWidth();
                            height = display.getHeight();
                        }
                        Log.v("Screen Size", "Screen Width =" + width
                                + "and height is=" + height);

                        if (heightDifference > 100) {
                            Log.d("Keyboard Size", "It is keypad");

                            // new OneTouchShareActivity().updateUIComponents(
                            // height, heightDifference);

                        }
                    }
            });
    }

请!!让我知道如果您需要更多帮助。

我有想法如何做到这一点。很高兴分享!!

答案 1 :(得分:0)

AFAIK没有这样的方法来获得键盘的建议。但你可以做一件事。当键盘出现在屏幕上时,您可以隐藏RadioButton,并在键盘隐藏时再次显示。