2010-12-23 35 views
6

Aşağıdaki html ile yeşil dikdörtgen ekranın sadece yarısını kaplayacağını umuyorum, ancak pratikte tüm ekran genişliğini kaplıyor. Görünüm genişliği için başka değerler denedim, şans yok. Neden çalışmadığı hakkında bir fikrin var mı?Android WebView görünüm

Html

<html> 
<head> 
    <meta name="viewport" content="width=640" /> 
</head> 
<body> 
    <div style="width: 300px; height: 50px; background: green;">300px</div> 
    <div style="width: 600px; height: 50px; background: yellow;">600px</div> 
</body> 
</html> 

Xml Kısmen çözülmüş

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical" 
    > 

    <WebView 
     android:id="@+id/web_view" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     /> 
</LinearLayout> 
+0

bunun için cevap aldınız? – vnshetty

+0

@ vnshetty. Hayır, cevabım yok. – alex2k8

cevap

13

Aynı soru ve cevabı buldum! Senin durumunda
İhtiyacınız:

WebSettings settings = webView.getSettings(); 
settings.setUseWideViewPort(true); 
settings.setLoadWithOverviewMode(true); 
+0

Çalışıyor, ancak setLoadWithOverviewMode yalnızca API Düzey 7'den beri var. – alex2k8

0

, şimdi çift dokunun tarafından ölçeklenebilir:

webView.getSettings().setUseWideViewPort(true); 

DÜZENLEME: Hayır, yanılmışım ... Test html'yi değiştirdim ve sayfa genişliği - 1000px, görünüm aralığı değil 640px'e ölçeklendiğini fark ettim.

<div style="width: 300px; height: 50px; background: green;">300px</div> 
<div style="width: 600px; height: 50px; background: yellow;">600px</div> 
<div style="width: 1000px; height: 50px; background: red;">1000px</div>