2015-08-30 29 views
2

我的網絡視圖內有一個圖像。圖像太大了,我啓用了滾動條,但問題是我想設置默認視圖(在滾動或縮放之前首先查看圖像)到圖像的特定部分。任何想法 ?Android webView專注於圖像的特定部分

  WebView callUsView2= (WebView) rootView.findViewById(R.id.callUsView2); 

      WebSettings callUsView2Setting = callUsView2.getSettings(); 

      callUsView2Setting.setBuiltInZoomControls(true); 
      callUsView2Setting.setDisplayZoomControls(true); 
      callUsView2.setVerticalScrollBarEnabled(true); 
      callUsView2.setHorizontalScrollBarEnabled(true); 

      callUsView2.loadUrl("file:///android_asset/map.png"); 

結果>

enter image description here

我想要什麼>

enter image description here

答案>>

   callUsView2.setWebChromeClient(new WebChromeClient(){ 
       @Override 
       public void onProgressChanged(WebView view, int progress) { 

        if (view.getProgress()==100) { 
         // I save Y w/in Bundle so orientation changes [in addition to 
         // initial loads] will reposition to last location 
         jumpToY(1000 , 1800); 
        } 
       } 


       private void jumpToY (final int xLocation , final int yLocation) { 
       callUsView2.postDelayed(new Runnable() { 
         @Override 
         public void run() { 
         callUsView2.scrollTo(xLocation, yLocation); 
         } 
        }, 300); 
       } 


      }); 
+0

也許做你的放大,顯示圖像之前?隱藏您的WebView並準備好揭示它。 –

+0

對不起,我不明白你的意思!? –

+0

如果我正確地理解了你,你希望在用戶看到地圖之前進行縮放。真的嗎? –

回答

2

如果圖像很大並且想要顯示特定部分,則可能需要縮放並滾動到特定部分。 你可以做的是,例如更改比例:

callUsView2.setInitialScale(some value which fits your needs); 

,如果你想改變位置滾動:

callUsView2.scrollTo(x,y); 
+0

這似乎是真的,但使用此線 callUsView2.scrollTo(840 ,1200); 沒有改變任何東西 –

+0

X和Y使用像素單元?! –

+0

我認爲這個答案可能會幫助您解決當前問題 http://stackoverflow.com/questions/9392031/webview-scrollto-is - 不工作 –