2013-04-09 13 views
8

हाय मैं वेब दृश्य है और मैं यह स्क्रीन करने के लिए फिट करने के लिए चाहते हैं सभी सामग्री फिट, इस तरह के उपयोगकर्ता स्क्रॉल करने के लिए इससे पहले कि क्षैतिज या लंबवतएंड्रॉयड वेबव्यू स्क्रीन करने के लिए

मैं खोज की है नहीं है, कई सुझाव है लेकिन यह केवल चौड़ाई को सीमित करता है, उपयोगकर्ता अभी भी खड़ी स्क्रॉल करने के लिए करना होगा:

engine = (WebView) (findViewById(R.id.webView1)); 
engine.loadUrl(www.example.com); 
engine.getSettings().setLoadWithOverviewMode(true); 
engine.getSettings().setUseWideViewPort(true); 

मैं किसी अन्य विधि की कोशिश की, विधि स्केलिंग का उपयोग कर, लेकिन यह काम नहीं करेगा ..... मैं खिड़की चौड़ाई मिल गया (1024 पिक्सेल) और वेब सामग्री चौड़ाई 1024 पिक्सेल भी थी !! तो स्केलिंग काम नहीं कर सका .... क्या सही पैमाने प्राप्त करने के लिए कोई तरीका है?

या .... क्या कोई और तरीका है? .... धन्यवाद !!

// get the window width and height 
    Point outSize = new Point(); 
    getWindowManager().getDefaultDisplay().getSize(outSize); 
    width = outSize.x; 
    height = outSize.y; 
    Log.i("Menuboard", "width: " + Integer.toString(width) + ", height: " 
      + Integer.toString(height)); 

WebViewClient client = new WebViewClient() { 

     public void onPageFinished(WebView view, String url) { 
      int x = engine.getWidth(); 
      int y = engine.getHeight(); 

      Log.i("Menuboard", "web width: " + Integer.toString(x) 
        + ", height: " + Integer.toString(y)); 

      int scale1 = width * 100/x; 
      int scale2 = height * 100/y; 

      Log.i("Menuboard", "Scale1: " + Integer.toString(scale1) 
        + ", Scale2: " + Integer.toString(scale2)); 

      if (scale1 < scale2) { 
       engine.setInitialScale(scale1); 
       Log.i("Menuboard", "scale1"); 
      } else if (scale1 > scale2) { 
       engine.setInitialScale(scale2); 
       Log.i("Menuboard", "scale2: " + Integer.toString(scale2)); 
      } 
     } 
    }; 

    engine = (WebView) (findViewById(R.id.webView1)); 
    engine.loadUrl(string); 
    engine.getSettings().setBuiltInZoomControls(true); 
    engine.setPadding(0, 0, 0, 0); 
      engine.setWebViewClient(client); 

बस कुछ नोट:

engine = (WebView) (findViewById(R.id.webView1)); 
engine.loadUrl(www.example.com); 
engine.getSettings().setBuiltInZoomControls(true); 
engine.setPadding(0, 0, 0, 0); 
engine.setInitialScale(50); // 0 - 100 where 100 is full scale 

प्राप्त करने के लिए खिड़की चौड़ाई और ऊंचाई:

Point outSize = new Point(); 
getWindowManager().getDefaultDisplay().getSize(outSize); 
width = outSize.x; 
height = outSize.y; 
+0

जाँच इस लिंक: http://stackoverflow.com/a/9756084/1168654 और http://stackoverflow.com/questions/11922861/how-to-justify-text-on-a-textview- बनाया आसान-एंड्रॉइड/11922862 # 11922862 और http://stackoverflow.com/questions/15894644/how-we-get-the-text-of-a-texview-to-be-justified- गतिशील रूप से/15894704#15894704 –

उत्तर

1

वेबव्यू पूरे स्क्रीन का विस्तार करने के लिए

वेबव्यू पैमाने पर करने के लिए , अपने गतिविधि लेआउट xml में वेबव्यू जोड़ें और सुनिश्चित करें कि आपने layout_width औरसेट किया हैसे fill_parent। यहां एक साधारण उदाहरण दिया गया है:

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 
    <WebView 
     android:id="@+id/webview" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent"/> 
    </LinearLayout> 
5

इस निम्न विधियों का उपयोग करें।

webview.getSettings().setUseWideViewPort(true); 
webview.getSettings().setLoadWithOverviewMode(true); 
संबंधित मुद्दे