DrawerLayout的监听器和配置

Max*_*ime 1 keyboard android navigation-drawer drawerlayout

由于谷歌文档谷歌的样本,我已经构建了一个导航抽屉.

现在我正在寻找一个解决方案,在右侧滑动关闭时隐藏键盘,因为在这张幻灯片中我有一个EditText,当我关闭菜单时,键盘仍然打开.

最后,当我打开菜单时,布局会覆盖主要内容.所以我想知道是否有一种简单的方法可以使主要内容跟随菜单的运动,Facebook就像?

Max*_*ime 8

我找到了检测"On DrawerLayout close"的答案.

我只需要创建一个实现实现的类android.support.v4.widget.DrawerLayout.DrawerListener并重写方法onDrawerClosed(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);
        }
        [...]
    }
}
Run Code Online (Sandbox Code Playgroud)