在Webview中将Webview放在ScrollView中

时间:2018-04-29 11:06:34

标签: android webview scrollview

我创建了两个webviews并且需要将它们放在彼此之下但它们彼此重叠而不是彼此重叠。这意味着只显示第二个屏幕webview而不是两个屏幕。

  

activity_main.xml中

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

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <WebView
        android:id="@+id/webview2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:autoLink="web"
        android:scrollbars="none"
        android:textColor="@android:color/black" />


    <WebView
        android:id="@+id/webview1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:autoLink="web"
        android:scrollbars="none"
        android:textColor="@android:color/black" />

</LinearLayout>

</ScrollView>
  

MainActivity.java

public class MainActivity extends Activity {

    WebView webView, webview2;
    CheckBox cbk1, cbk2;

    @SuppressLint("JavascriptInterface")
    @Override
    protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);

            webView = (WebView) findViewById(R.id.webview2);
            webview2 = (WebView) findViewById(R.id.webview1);
            webView.loadUrl("file:///android_asset/nextscreen.html");
            webview2.loadUrl("file:///android_asset/newscreen2.html");
    }
}

3 个答案:

答案 0 :(得分:2)

您正在使用FrameLayout将视图堆叠在其他视图之上。请改用LinearLayout

答案 1 :(得分:1)

只需将其放在LinearLayout

<?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"
  orientation="vertical">

  <WebView
  android:id="@+id/webview2"
  android:layout_width="match_parent"
  android:layout_height="50dp"
  android:autoLink="web"
  android:scrollbars="none"
  android:textColor="@android:color/black" />


  <WebView
  android:id="@+id/webview1"
  android:layout_width="match_parent"
  android:layout_height="570dp"
  android:autoLink="web"
  android:scrollbars="none"
  android:textColor="@android:color/black" />

</LinearLayout>

答案 2 :(得分:0)

因为您以root身份使用FrameLayout。将FrameLayout替换为LinearLayout并添加android:orientation="vertical"

试试这个:

<?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/webview2"
    android:layout_width="match_parent"
    android:layout_height="50dp"
    android:autoLink="web"
    android:scrollbars="none"
    android:textColor="@android:color/black" />


<WebView
    android:id="@+id/webview1"
    android:layout_width="match_parent"
    android:layout_height="570dp"
    android:autoLink="web"
    android:scrollbars="none"
    android:textColor="@android:color/black" />

</LinearLayout >