From: Thad Hughes Date: Thu, 26 Dec 2013 19:50:58 +0000 (-0800) Subject: Fixed menu button on DictionaryManager X-Git-Url: http://gitweb.fperrin.net/?p=Dictionary.git;a=commitdiff_plain;h=1795c53465da8b7d92263cabe4805363a82be462 Fixed menu button on DictionaryManager --- diff --git a/res/menu/dictionary_manager_options_menu.xml b/res/menu/dictionary_manager_options_menu.xml index 867abff..846f072 100644 --- a/res/menu/dictionary_manager_options_menu.xml +++ b/res/menu/dictionary_manager_options_menu.xml @@ -1,10 +1,11 @@ + \ No newline at end of file diff --git a/src/com/hughes/android/dictionary/DictionaryActivity.java b/src/com/hughes/android/dictionary/DictionaryActivity.java index d59e7d1..ed50824 100644 --- a/src/com/hughes/android/dictionary/DictionaryActivity.java +++ b/src/com/hughes/android/dictionary/DictionaryActivity.java @@ -760,9 +760,9 @@ public class DictionaryActivity extends SherlockListActivity { application.onCreateGlobalOptionsMenu(this, menu); { - final MenuItem dictionaryList = menu.add(getString(R.string.dictionaryManager)); - dictionaryList.setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER); - dictionaryList.setOnMenuItemClickListener(new OnMenuItemClickListener() { + final MenuItem dictionaryManager = menu.add(getString(R.string.dictionaryManager)); + dictionaryManager.setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER); + dictionaryManager.setOnMenuItemClickListener(new OnMenuItemClickListener() { public boolean onMenuItemClick(final MenuItem menuItem) { startActivity(DictionaryManagerActivity.getLaunchIntent()); finish(); @@ -990,8 +990,8 @@ public class DictionaryActivity extends SherlockListActivity { if (event.getUnicodeChar() != 0) { if (!searchView.hasFocus()) { setSearchText("" + (char) event.getUnicodeChar(), true); + searchView.requestFocus(); } - searchView.requestFocus(); return true; } if (keyCode == KeyEvent.KEYCODE_BACK) { diff --git a/src/com/hughes/android/dictionary/DictionaryManagerActivity.java b/src/com/hughes/android/dictionary/DictionaryManagerActivity.java index 9b6bf4a..36eec14 100644 --- a/src/com/hughes/android/dictionary/DictionaryManagerActivity.java +++ b/src/com/hughes/android/dictionary/DictionaryManagerActivity.java @@ -31,16 +31,21 @@ import android.os.Environment; import android.os.Handler; import android.preference.PreferenceManager; import android.util.Log; +import android.util.TypedValue; import android.view.ContextMenu; import android.view.ContextMenu.ContextMenuInfo; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; +import android.view.View.OnLongClickListener; +import android.view.inputmethod.EditorInfo; import android.view.ViewGroup; import android.widget.AdapterView.AdapterContextMenuInfo; import android.widget.BaseAdapter; import android.widget.Button; import android.widget.CompoundButton; +import android.widget.FrameLayout; +import android.widget.ImageView; import android.widget.ListView; import android.widget.Toast; import android.widget.CompoundButton.OnCheckedChangeListener; @@ -48,6 +53,7 @@ import android.widget.LinearLayout; import android.widget.TextView; import android.widget.ToggleButton; +import com.actionbarsherlock.app.ActionBar; import com.actionbarsherlock.app.SherlockListActivity; import com.actionbarsherlock.view.Menu; import com.actionbarsherlock.view.MenuInflater; @@ -225,7 +231,52 @@ public class DictionaryManagerActivity extends SherlockListActivity { Environment.getExternalStorageDirectory())); builder.create().show(); } + + onCreateSetupActionBar(); + } + + private void onCreateSetupActionBar() { + ActionBar actionBar = getSupportActionBar(); + actionBar.setDisplayShowTitleEnabled(false); + + filterSearchView = new SearchView(getSupportActionBar().getThemedContext()); + filterSearchView.setIconifiedByDefault(false); + // filterSearchView.setIconified(false); // puts the magnifying glass in the + // wrong place. + filterSearchView.setQueryHint(getString(R.string.searchText)); + filterSearchView.setSubmitButtonEnabled(false); + final int width = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 300, + getResources().getDisplayMetrics()); + FrameLayout.LayoutParams lp = new FrameLayout.LayoutParams(width, + FrameLayout.LayoutParams.WRAP_CONTENT); + filterSearchView.setLayoutParams(lp); + filterSearchView.setImeOptions( + EditorInfo.IME_ACTION_SEARCH | + EditorInfo.IME_FLAG_NO_EXTRACT_UI | + EditorInfo.IME_FLAG_NO_ENTER_ACTION | + // EditorInfo.IME_FLAG_NO_FULLSCREEN | // Requires API + // 11 + EditorInfo.IME_MASK_ACTION | + EditorInfo.TYPE_TEXT_FLAG_NO_SUGGESTIONS); + + filterSearchView.setOnQueryTextListener(new OnQueryTextListener() { + @Override + public boolean onQueryTextSubmit(String query) { + return true; + } + + @Override + public boolean onQueryTextChange(String filterText) { + setListAdapater(); + return true; + } + }); + filterSearchView.setFocusable(true); + + actionBar.setCustomView(filterSearchView); + actionBar.setDisplayShowCustomEnabled(true); } + @Override public void onDestroy() { @@ -297,23 +348,23 @@ public class DictionaryManagerActivity extends SherlockListActivity { @Override public boolean onCreateOptionsMenu(final Menu menu) { - MenuInflater inflater = getSupportMenuInflater(); - inflater.inflate(R.menu.dictionary_manager_options_menu, menu); - - filterSearchView = (SearchView) menu.findItem(R.id.filterText).getActionView(); - filterSearchView.setOnQueryTextListener(new OnQueryTextListener() { - @Override - public boolean onQueryTextSubmit(String query) { - return true; - } - - @Override - public boolean onQueryTextChange(String filterText) { - setListAdapater(); - return true; - } - }); - filterSearchView.setIconifiedByDefault(false); +// MenuInflater inflater = getSupportMenuInflater(); +// inflater.inflate(R.menu.dictionary_manager_options_menu, menu); +// +// filterSearchView = (SearchView) menu.findItem(R.id.filterText).getActionView(); +// filterSearchView.setOnQueryTextListener(new OnQueryTextListener() { +// @Override +// public boolean onQueryTextSubmit(String query) { +// return true; +// } +// +// @Override +// public boolean onQueryTextChange(String filterText) { +// setListAdapater(); +// return true; +// } +// }); +// filterSearchView.setIconifiedByDefault(false); application.onCreateGlobalOptionsMenu(this, menu); return true;