2013-11-14 3 views
1

Я создал ящик для навигации благодаря Google documentation и sample from google.Слушатель и конфигурация DrawerLayout

Теперь я ищу решение для скрытия клавиатуры, когда правый слайд закрыт, потому что на этом слайде у меня есть EditText, и когда я закрываю меню, клавиатура все же открывается.

Последнее, когда я открываю меню, макет подходит к основному содержимому. Поэтому я задаюсь вопросом, есть ли простой способ сделать этот основной контент следом за движением меню, как Facebook?

+0

Пожалуйста, проверьте [этот ответ] (http://stackoverflow.com/a/36004172/2826147). –

ответ

8

Я нашел ответ для обнаружения «On DrawerLayout close».

Мне просто нужно было превзойти класс, который реализует инструменты android.support.v4.widget.DrawerLayout.DrawerListener и переопределяет метод onDrawerClosed (View view). Наконец, я установил DrawerListener в свой ящик, и он работает.

Для тех, кто предпочитает практику, это мой код:

public class MyActivity extends Activity { 
    @Override 
    protected void onCreate(Bundle savedInstanceState) 
     DrawerLayout drawer = (DrawerLayout)findViewById(R.id.fullContent); 
     drawer.setDrawerListener(new RightMenuListener()); 
    } 


    private class RightMenuListener implements android.support.v4.widget.DrawerLayout.DrawerListener { 
     @Override 
     public void onDrawerClosed(View view) { 
      EditText searchBar = (EditText)findViewById(R.id.searchText); 
      InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 
      imm.hideSoftInputFromWindow(searchBar.getWindowToken(), 0); 
     } 
     [...] 
    } 
} 
Смежные вопросы