2017-05-26 195 views
0

我想用searchViewwebview中搜索,当我搜索它时,webview有更改和放大heppeninig,我使用webView来显示epub书,我在其中显示了更多的细节2个截图(后,前)和粘贴我的代码在这里
我的Android设备的操作系统就是Android奇巧 ScreenShot (Normal state)防止在使用searchview时缩放webview

ScreenShot(when Use Search

更详细的代码:

@Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     // Inflate the menu; this adds items to the action bar if it is present. 
     getMenuInflater().inflate(R.menu.menu_activity_reader, menu); 
     this.menu = menu; 

     final SearchView searchView = (SearchView) MenuItemCompat.getActionView(menu.findItem(R.id.action_search)); 
     SearchManager searchManager = (SearchManager) getSystemService(SEARCH_SERVICE); 

     searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName())); 
     searchView.setSubmitButtonEnabled(true); 
     searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() { 
      @Override 
      public boolean onQueryTextSubmit(String query) { 
       if (!query.isEmpty()) { 
        searchEnabled = true; 
        if (!flag) { 
         webView.findAllAsync(query); 

         flag = true; 
         try { 
          Method m = WebView.class.getMethod("setFindIsUp", Boolean.TYPE); 
          m.invoke(webView, true); 
         } catch (Throwable ignored) { 
         } 
        } else { 
         webView.findNext(true); 
        } 

        Log.i("webview", webView.getScrollY() + ""); 

       } 

       return false; 
      } 

      @Override 
      public boolean onQueryTextChange(String newText) { 

       if (newText.isEmpty()) { 
        try { 
         Method m = WebView.class.getMethod("setFindIsUp", Boolean.TYPE); 
         m.invoke(webView, false); 
        } catch (Throwable ignored) { 
        } 
       } 
       flag = false; 
       return true; 
      } 
     }); 
     searchView.setOnCloseListener(new SearchView.OnCloseListener() { 
      @Override 
      public boolean onClose() { 

       try { 
        Method m = WebView.class.getMethod("setFindIsUp", Boolean.TYPE); 
        m.invoke(webView, false); 
       } catch (Throwable ignored) { 
       } 
       return false; 
      } 
     }); 
     return true; 
    } 

回答

0

尝试禁用webview的自动缩放:

webview.getSettings().setBuiltInZoomControls(false); 
    webview.getSettings().setSupportZoom(false);