WebView加载超长图

最近有需求加载一张长宽比例值很大的图片,一开始想用ImageView和ScrollView实现,但是效果不是很好,这里记录了一下WebView的实现方法。

  wb_img= (WebView) findViewById(R.id.wb_img);
        wb_img .loadUrl(url);
        WebSettings settings = wb_img.getSettings();
        settings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);
        settings.setBuiltInZoomControls(false); //选择内置缩放机制与单独缩放控件;
        settings.setDisplayZoomControls(false); //是否显示缩放控件
        settings.setSupportZoom(false);  //是否支持缩放
        wb_img.setInitialScale(145); //第一次显示的缩放比例,例子是120%;
        //注释掉 wb_img.setInitialScale(145); 使用下面代码,则自适应屏幕居中显示
        ----------------------------------------
           //settings.setUseWideViewPort(true);
       // settings.setLoadWithOverviewMode(true);
       ---------------------------------------------
        wb_img.getSettings().setJavaScriptEnabled(true);//启用js
        wb_img.getSettings().setBlockNetworkImage(false);//解决图片不显示
        if(Build.VERSION.SDK_INT>=Build.VERSION_CODES.LOLLIPOP){
            settings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
        }

WebView显示图片的下面需要显示TextView文本,这里粘贴一下xml布局代码

<ScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/white">
    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@color/white">

        <WebView
            android:id="@+id/wb_img"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:scrollbars="none"/>
        <LinearLayout
            android:id="@+id/ll_text"
            android:visibility="invisible"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:paddingLeft="@dimen/mar_8"
            android:paddingRight="@dimen/mar_8"
            android:layout_below="@+id/wb_img"
            android:orientation="vertical">
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textSize="@dimen/txt_14"
            android:gravity="center_horizontal"
            android:textColor="@color/black"
            android:textStyle="bold"
            android:text="家庭医生服务卡"/>

LinearLayout>
    RelativeLayout>
ScrollView>

你可能感兴趣的:(webView)