Android - EditText перекрывается с Softkeyboard - PullRequest
4 голосов
/ 06 марта 2011

Я работаю над Деятельностью, у которой есть некоторый EditText.Когда я нажимаю / касаюсь, появляется софт-клавиатура EditText.Но EditTexts, которые находятся внизу экрана, пересекаются с программной клавиатурой.Верхняя половина EditText показана, а нижняя половина находится под клавиатурой.

Я установил android:windowSoftInputMode="adjustPan" в AndroidManifest.xml

Есть предложения о том, как этого избежать?

Ответы [ 2 ]

4 голосов
/ 06 марта 2011

Я думаю, вы должны посмотреть на эту ссылку. этот проб. кажется очень похожим на тот, который у вас есть.

0 голосов
/ 15 мая 2014

Для меня я не хотел предполагать, что высота клавиатуры - это определенное измерение.Независимо от того, что вас беспокоит, создайте onTouchListener, а затем сделайте следующее:

    setOnTouchListener(new OnTouchListener()  {



        Runnable shifter=new Runnable(){
            public void run(){
                try {
                    int[] loc = new int[2];                 
                    //get the location of someview which gets stored in loc array
                    findViewById(R.id.someview).getLocationInWindow(loc);
                    //shift so user can see someview
                    myscrollView.scrollTo(loc[0], loc[1]);   
                }
                catch (Exception e) {
                    e.printStackTrace();
                }   
            }}
        };

        Rect scrollBounds = new Rect();
        View divider=findViewById(R.id.someview);
        myscollView.getHitRect(scrollBounds);
        if (!divider.getLocalVisibleRect(scrollBounds))  {
            // the divider view is NOT  within the visible scroll window thus we need to scroll a bit.
            myscollView.postDelayed(shifter, 500);
        }



    });

// по сути, мы создаем исполняемый файл, который прокручивает к новому местоположению некоторого представления, которое вы ХОТИТЕ видимым на экране.вы выполняете этот runnable, только если он не находится в пределах границ прокрутки (его нет на экране).Таким образом, он перемещает представление прокрутки в ссылочное представление (в моем случае «someview», которое было разделителем строк).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...