Hide keyboard when interacting with action bar

pull/46/head
Alex Baker 12 years ago
parent 87cb5a180f
commit ec43fbc864

@ -9,6 +9,7 @@ import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.ContentValues;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.graphics.Bitmap;
@ -26,6 +27,7 @@ import android.view.View.MeasureSpec;
import android.view.ViewGroup;
import android.view.ViewGroup.LayoutParams;
import android.view.ViewParent;
import android.view.inputmethod.InputMethodManager;
import android.webkit.MimeTypeMap;
import android.widget.ArrayAdapter;
import android.widget.Button;
@ -1043,6 +1045,7 @@ ViewPager.OnPageChangeListener, EditNoteActivity.UpdatesChangedListener {
} else {
saveButtonClick();
}
hideKeyboard();
return true;
}
@ -1274,4 +1277,10 @@ ViewPager.OnPageChangeListener, EditNoteActivity.UpdatesChangedListener {
}
scrollView.smoothScrollTo(0, top);
}
private void hideKeyboard() {
InputMethodManager imm = (InputMethodManager) getActivity().getSystemService(
Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(title.getWindowToken(), 0);
}
}

@ -9,6 +9,7 @@ import android.animation.LayoutTransition;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.SearchManager;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.Fragment;
@ -17,6 +18,7 @@ import android.util.TypedValue;
import android.view.KeyEvent;
import android.view.View;
import android.view.ViewGroup;
import android.view.inputmethod.InputMethodManager;
import android.widget.FrameLayout;
import com.actionbarsherlock.app.ActionBar;
@ -43,6 +45,7 @@ import com.todoroo.astrid.tags.TagFilterExposer;
import com.todoroo.astrid.tags.TagService;
import com.todoroo.astrid.tags.TagsPlugin;
import com.todoroo.astrid.ui.DateChangedAlerts;
import com.todoroo.astrid.ui.QuickAddBar;
import com.todoroo.astrid.utility.AstridPreferences;
import com.todoroo.astrid.utility.Constants;
import com.todoroo.astrid.utility.Flags;
@ -350,6 +353,7 @@ public class TaskListActivity extends AstridActivity implements OnPageChangeList
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
menuDrawer.closeMenu();
hideKeyboard();
return super.onPrepareOptionsMenu(menu);
}
@ -541,6 +545,7 @@ public class TaskListActivity extends AstridActivity implements OnPageChangeList
} else {
menuDrawer.openMenu();
}
hideKeyboard();
return true;
case R.id.menu_settings:
tlf.showSettings();
@ -593,6 +598,17 @@ public class TaskListActivity extends AstridActivity implements OnPageChangeList
}
}
private void hideKeyboard() {
TaskListFragment tlf = getTaskListFragment();
if (tlf == null)
return;
InputMethodManager imm = (InputMethodManager)getSystemService(
Context.INPUT_METHOD_SERVICE);
QuickAddBar qab = tlf.quickAddBar;
if (qab != null)
imm.hideSoftInputFromWindow(qab.getQuickAddBox().getWindowToken(), 0);
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {

Loading…
Cancel
Save