DrawerLayout的监听器和配置

时间:2013-11-14 08:53:46

标签: android keyboard navigation-drawer drawerlayout

由于Google documentationsample from google,我已经构建了一个导航抽屉。

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

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

1 个答案:

答案 0 :(得分: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);
        }
        [...]
    }
}