无法设置Android网页视图宽度

时间:2012-12-26 12:39:15

标签: android android-layout android-webview

我一直在尝试使用TableLayout在屏幕上为我的Android应用添加Webview控件 不幸的是,无论我尝试什么,webview始终覆盖整个屏幕宽度  布局文件包含以下代码

<TableRow android:layout_gravity="center">

    <WebView
        android:id="@+id/someid"
        android:layout_width="wrap_content" 
        android:layout_height="100dp">
    </WebView>
</TableRow>

活动文件包含以下内容

@Override protected void onFinishInflate(){

    WebSettings webSettings = mywebView.getSettings();
    webSettings.setJavaScriptEnabled(true);
    webSettings.setBuiltInZoomControls(true);
    webSettings.setUseWideViewPort(true);
    webSettings.setLoadWithOverviewMode(true);
    webSettings.setLayoutAlgorithm(LayoutAlgorithm.NORMAL);
    mywebView.setScrollContainer(false);
    mywebView.addJavascriptInterface(new WebAppInterface(context), "Android");

}

控件是否始终覆盖整个屏幕宽度是否有任何特定原因。 height属性似乎有效,但无论我使用android:layout_width,宽度始终是屏幕宽度的100%。 我试过给android:layout_width一个固定值以及java文件中的多个websettings组合。

为什么会发生这种情况的任何线索?

2 个答案:

答案 0 :(得分:0)

您必须首先定义tableRow的参数。例如:     tableRow内的layout_width和layout_height:

<TableRow android:layout_gravity="center"
          android:layout_width="wrap_content"
          android:layout_height="100dp">
<WebView
    android:id="@+id/someid"
    android:layout_width="wrap_content" 
    android:layout_height="fill_parent">
</WebView>

答案 1 :(得分:-1)

奇怪的是,在LinearLayout中包装控件修复了问题

  <LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android" 
  android:layout_gravity="center"
  android:layout_width="wrap_content"
  android:orientation="vertical" 
  android:layout_height="wrap_content"> 
     <WebView
        android:id="@+id/someid"
         android:layout_height="wrap_content"
         android:layout_gravity="center"
         android:layout_width="250px"
         android:orientation="vertical" 
        >
     </WebView>
  </LinearLayout>