bla*_*olf 8 android slidingdrawer android-fragments
我在我的应用程序中添加了导航抽屉.到目前为止其他一切工作都很顺利,但我遇到的问题是导航抽屉打开时键盘没有关闭.导航抽屉是主要活动,然后从抽屉打开的每个页面都是一个片段.
我已经尝试将以下内容添加到片段中的每个EditText区域.但是,这并没有结束任何事情.
InputMethodManager imm1 = (InputMethodManager)getActivity().getSystemService(
Context.INPUT_METHOD_SERVICE);
imm1.hideSoftInputFromWindow(input1.getWindowToken(), 0);
Run Code Online (Sandbox Code Playgroud)
我也尝试将该代码放在主要活动中,但也没有成功.关于我可以采用哪些不同方法来实现这一目标的任何想法?
Ram*_*amz 15
要隐藏一个开放的键盘当打开或关闭抽屉式导航栏,请重写方法onDrawerSlide
中onDrawerListner
,添加以下线
InputMethodManager inputMethodManager = (InputMethodManager) actionBarActivity
.getSystemService(Activity.INPUT_METHOD_SERVICE);
inputMethodManager.hideSoftInputFromWindow(
actionBarActivity.getCurrentFocus().getWindowToken(),
0
);
Run Code Online (Sandbox Code Playgroud)
Gil*_*man 11
final DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
ActionBarDrawerToggle actionBarDrawerToggle = new ActionBarDrawerToggle(this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close) {
@Override
public void onDrawerClosed(View drawerView) {
super.onDrawerClosed(drawerView);
}
@Override
public void onDrawerOpened(View drawerView) {
super.onDrawerOpened(drawerView);
InputMethodManager inputMethodManager = (InputMethodManager)
getSystemService(Context.INPUT_METHOD_SERVICE);
inputMethodManager.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0);
}
@Override
public void onDrawerSlide(View drawerView, float slideOffset) {
super.onDrawerSlide(drawerView, slideOffset);
InputMethodManager inputMethodManager = (InputMethodManager)
getSystemService(Context.INPUT_METHOD_SERVICE);
inputMethodManager.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0);
}
};
drawer.setDrawerListener(actionBarDrawerToggle);
actionBarDrawerToggle.syncState();
Run Code Online (Sandbox Code Playgroud)