DrawerLayout:通过点击ActionBar中的主页图标来关闭键盘

时间:2013-12-24 08:34:48

标签: android android-actionbar android-softkeyboard drawerlayout

我在我的应用中使用DrawerLayout。我已将ActionBarDrawerToogle附加到其中。当keyborad可见时,我仍然可以调用抽屉菜单。我不想。我希望我的应用程序的行为类似于Youtube应用程序,因此当键盘出现时,操作栏中没有抽屉toogle,而是它有“home as up”按钮,它会解除键盘。虽然ActionBarDrawerToogle处理配置更改事件,但我会默认执行此操作,但事实并非如此。我怎样才能实现这种行为?

My app: can call drawer layout while keyboard is visible My app: can call drawer layout while keyboard is visible Play Store: while keyboard is visible tapping home button will dismiss the keyboard Play Store: while keyboard is visible tapping home button will dismiss the keyboard

3 个答案:

答案 0 :(得分:0)

onResume家庭活动中,您可以通过以下方式隐藏键盘:

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);

答案 1 :(得分:0)

现在我知道怎么做了。必须将SearchView添加为菜单项,如下所示:

<item
    android:id="@+id/menu_search"
    android:icon="@drawable/ic_action_search"
    android:title="@string/projects_menu_search"
    app:actionViewClass="android.support.v7.widget.SearchView"
    app:showAsAction="always|collapseActionView"/>

关键是它设置为actionView并且icon也设置了。点击图标后,动作视图变为可见,并且还出现“向上”按钮。点击“向上”按钮会折叠actionView。

答案 2 :(得分:-1)

像这样关掉键盘

如果你想解雇它,你可以点击事件

在你的按钮中使用以下代码行
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(myEditText.getWindowToken(), 0);