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.AlertDialog;
import android.app.Dialog; import android.app.Dialog;
import android.content.ContentValues; import android.content.ContentValues;
import android.content.Context;
import android.content.DialogInterface; import android.content.DialogInterface;
import android.content.Intent; import android.content.Intent;
import android.graphics.Bitmap; import android.graphics.Bitmap;
@ -26,6 +27,7 @@ import android.view.View.MeasureSpec;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.view.ViewGroup.LayoutParams; import android.view.ViewGroup.LayoutParams;
import android.view.ViewParent; import android.view.ViewParent;
import android.view.inputmethod.InputMethodManager;
import android.webkit.MimeTypeMap; import android.webkit.MimeTypeMap;
import android.widget.ArrayAdapter; import android.widget.ArrayAdapter;
import android.widget.Button; import android.widget.Button;
@ -1043,6 +1045,7 @@ ViewPager.OnPageChangeListener, EditNoteActivity.UpdatesChangedListener {
} else { } else {
saveButtonClick(); saveButtonClick();
} }
hideKeyboard();
return true; return true;
} }
@ -1274,4 +1277,10 @@ ViewPager.OnPageChangeListener, EditNoteActivity.UpdatesChangedListener {
} }
scrollView.smoothScrollTo(0, top); 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.Activity;
import android.app.AlertDialog; import android.app.AlertDialog;
import android.app.SearchManager; import android.app.SearchManager;
import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
import android.support.v4.app.Fragment; import android.support.v4.app.Fragment;
@ -17,6 +18,7 @@ import android.util.TypedValue;
import android.view.KeyEvent; import android.view.KeyEvent;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.view.inputmethod.InputMethodManager;
import android.widget.FrameLayout; import android.widget.FrameLayout;
import com.actionbarsherlock.app.ActionBar; 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.TagService;
import com.todoroo.astrid.tags.TagsPlugin; import com.todoroo.astrid.tags.TagsPlugin;
import com.todoroo.astrid.ui.DateChangedAlerts; import com.todoroo.astrid.ui.DateChangedAlerts;
import com.todoroo.astrid.ui.QuickAddBar;
import com.todoroo.astrid.utility.AstridPreferences; import com.todoroo.astrid.utility.AstridPreferences;
import com.todoroo.astrid.utility.Constants; import com.todoroo.astrid.utility.Constants;
import com.todoroo.astrid.utility.Flags; import com.todoroo.astrid.utility.Flags;
@ -350,6 +353,7 @@ public class TaskListActivity extends AstridActivity implements OnPageChangeList
@Override @Override
public boolean onPrepareOptionsMenu(Menu menu) { public boolean onPrepareOptionsMenu(Menu menu) {
menuDrawer.closeMenu(); menuDrawer.closeMenu();
hideKeyboard();
return super.onPrepareOptionsMenu(menu); return super.onPrepareOptionsMenu(menu);
} }
@ -541,6 +545,7 @@ public class TaskListActivity extends AstridActivity implements OnPageChangeList
} else { } else {
menuDrawer.openMenu(); menuDrawer.openMenu();
} }
hideKeyboard();
return true; return true;
case R.id.menu_settings: case R.id.menu_settings:
tlf.showSettings(); 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 @Override
public boolean onKeyDown(int keyCode, KeyEvent event) { public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) { if (keyCode == KeyEvent.KEYCODE_BACK) {

Loading…
Cancel
Save