0

Я использую DrawerLayout в своем приложении. Я приложил к нему ActionBarDrawerToogle. Когда keyborad виден, я все еще могу вызвать меню ящика. Я не хочу. Я хочу, чтобы мое приложение вел себя как приложение Youtube, поэтому, когда появляется клавиатура, в панели действий нет ящика для Google, вместо этого у него есть кнопка «домой как вверх», которая отклоняет клавиатуру. В то время как ActionBarDrawerToogle обрабатывает события изменения конфигурации, я бы это сделал по умолчанию, но это не так. Как я могу достичь такого поведения?DrawerLayout: отпустите клавиатуру, нажав значок дома в ActionBar

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

+0

Вы можете приложить скриншоты для поведения, которое вы хотите, и поведения, которое у вас есть? –

+0

@DheeB уверен, обновил ответ. – Lingviston

ответ

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 становится видимым и появляется кнопка «вверх». Нажатие на кнопку «вверх» сворачивает actionView.

-1

Отклонить клавиатуры, как этот

Если вы хотите просто уволить его, вы можете использовать следующие строки кода в вашей кнопки на мыши Event

InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); 
imm.hideSoftInputFromWindow(myEditText.getWindowToken(), 0); 
+0

Это ответ на другой вопрос, который был задан ВО много раз. – Lingviston

+0

Вы хотели, чтобы код отклонил клавиатуру, нажав кнопку «домой как вверх». Если вы не играете хорошо, начните голосование без ясности, никто не поможет вам здесь. –

+0

Посмотрите на заголовок: Я не спрашивал, как уволить ключевой бутерброд в целом. Вы дали мне общий ответ, который можно легко найти на SO. Хотя вы не помогли и вам, хотя я сам не смог найти этот простой ответ. – Lingviston

0

В onResume домашней деятельности вы можете скрыть клавиатуру:

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN); 
Смежные вопросы