]> gitweb.fperrin.net Git - Dictionary.git/commitdiff
Fixed menu button on DictionaryManager
authorThad Hughes <thadh@google.com>
Thu, 26 Dec 2013 19:50:58 +0000 (11:50 -0800)
committerThad Hughes <thadh@google.com>
Thu, 26 Dec 2013 19:50:58 +0000 (11:50 -0800)
res/menu/dictionary_manager_options_menu.xml
src/com/hughes/android/dictionary/DictionaryActivity.java
src/com/hughes/android/dictionary/DictionaryManagerActivity.java

index 867abff47e2b54ecab1eeb289fb041440f66be56..846f0725b5531861573c86e0ba2cfd96032fc4a7 100644 (file)
@@ -1,10 +1,11 @@
 <?xml version="1.0" encoding="utf-8"?>
 <menu xmlns:android="http://schemas.android.com/apk/res/android">
     
+    <!-- 
     <item android:id="@+id/filterText"
           android:title="@string/managerFilterText"
           android:icon="@drawable/abs__ic_search"
           android:showAsAction="always"
           android:actionViewClass="com.actionbarsherlock.widget.SearchView" />
-        
+         -->
 </menu>
\ No newline at end of file
index d59e7d1207007777b16f789b78deb3ece697c706..ed508247826e699843be8ba7480b6cca3ff30de2 100644 (file)
@@ -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) {
index 9b6bf4a3078849cc3c952d7154b649ff2962b95c..36eec144a17e00bdccd1b2758d3d50f9616adadf 100644 (file)
@@ -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;