1

感谢Google 文档来自 google 的示例,我已经构建了一个导航抽屉。

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

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

4

1 回答 1

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);
        }
        [...]
    }
}
于 2013-11-29T08:45:39.423 回答