diff options
author | Nils Griebner <nils@nils-griebner.de> | 2018-06-17 23:54:42 +0300 |
---|---|---|
committer | Nils Griebner <nils@nils-griebner.de> | 2018-06-17 23:54:42 +0300 |
commit | 1a3b59f489473b8535fbdb5ac019d4a03ebb5710 (patch) | |
tree | 8c614003a0d9feff5017a6547482898be5b9be90 /News-Android-App | |
parent | e9f93ae55572982586936211154707480e9891d2 (diff) |
Bring up keyboard on search button click. Clear focus of search view on back press or scroll
Diffstat (limited to 'News-Android-App')
2 files changed, 30 insertions, 1 deletions
diff --git a/News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/NewsReaderDetailFragment.java b/News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/NewsReaderDetailFragment.java index b1908552..3d27d5c6 100644 --- a/News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/NewsReaderDetailFragment.java +++ b/News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/NewsReaderDetailFragment.java @@ -450,6 +450,13 @@ public class NewsReaderDetailFragment extends Fragment { ItemTouchHelper itemTouchHelper = new ItemTouchHelper(new NewsReaderItemTouchHelperCallback()); itemTouchHelper.attachToRecyclerView(recyclerView); recyclerView.addItemDecoration(new DividerItemDecoration(getActivity())); + recyclerView.setOnTouchListener(new View.OnTouchListener() { + @Override + public boolean onTouch(View v, MotionEvent event) { + ((NewsReaderListActivity) getActivity()).clearSearchViewFocus(); + return false; + } + }); swipeRefresh.setColorSchemeColors(accentColor); swipeRefresh.setOnRefreshListener((SwipeRefreshLayout.OnRefreshListener) getActivity()); diff --git a/News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/NewsReaderListActivity.java b/News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/NewsReaderListActivity.java index c65452a3..99782d2e 100644 --- a/News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/NewsReaderListActivity.java +++ b/News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/NewsReaderListActivity.java @@ -48,6 +48,7 @@ import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentTransaction; import android.support.v4.content.ContextCompat; import android.support.v4.view.GravityCompat; +import android.support.v4.view.MenuItemCompat; import android.support.v4.widget.DrawerLayout; import android.support.v4.widget.SwipeRefreshLayout; import android.support.v4.widget.ViewDragHelper; @@ -662,6 +663,22 @@ public class NewsReaderListActivity extends PodcastFragmentActivity implements menuItemDownloadMoreItems = menu.findItem(R.id.menu_downloadMoreItems); menuItemDownloadMoreItems.setEnabled(false); + + MenuItem searchItem = menu.findItem(R.id.menu_search); + + //Set expand listener to close keyboard + searchItem.setOnActionExpandListener(new MenuItem.OnActionExpandListener() { + @Override + public boolean onMenuItemActionExpand(MenuItem item) { + return true; + } + + @Override + public boolean onMenuItemActionCollapse(MenuItem item) { + clearSearchViewFocus(); + return true; + } + }); this.searchView = (SearchView) menu.findItem(R.id.menu_search).getActionView(); searchView.setIconifiedByDefault(false); searchView.setOnQueryTextListener(this); @@ -948,7 +965,7 @@ public class NewsReaderListActivity extends PodcastFragmentActivity implements @Override public boolean onQueryTextSubmit(String query) { - searchView.clearFocus(); + clearSearchViewFocus(); return true; } @@ -957,4 +974,9 @@ public class NewsReaderListActivity extends PodcastFragmentActivity implements StartSearch(newText); return true; } + + public void clearSearchViewFocus() { + searchView.clearFocus(); + } + } |