From a2afb3dc9243da3c9a8b58e6ea897ca88e1835f4 Mon Sep 17 00:00:00 2001 From: wds Date: Sun, 15 Aug 2021 13:57:52 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9webView?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../outdoor/activity/HomeActivity.java | 2 +- .../navinfo/outdoor/activity/WebActivity.java | 133 ++++++++---------- .../navinfo/outdoor/bean/RichTextBean.java | 32 +++++ 3 files changed, 91 insertions(+), 76 deletions(-) create mode 100644 app/src/main/java/com/navinfo/outdoor/bean/RichTextBean.java diff --git a/app/src/main/java/com/navinfo/outdoor/activity/HomeActivity.java b/app/src/main/java/com/navinfo/outdoor/activity/HomeActivity.java index 3f7e339..1fda4fc 100644 --- a/app/src/main/java/com/navinfo/outdoor/activity/HomeActivity.java +++ b/app/src/main/java/com/navinfo/outdoor/activity/HomeActivity.java @@ -126,7 +126,7 @@ public class HomeActivity extends BaseActivity{ //禁止table layout效果 @Override public void onTabSelected(TabLayout.Tab tab) { - if (tab.getPosition()==1){ + if (tab.getPosition()==0){ Message obtain = Message.obtain(); obtain.what = Constant.JOB_WORD_MONITOR; obtain.obj = true; diff --git a/app/src/main/java/com/navinfo/outdoor/activity/WebActivity.java b/app/src/main/java/com/navinfo/outdoor/activity/WebActivity.java index 7378357..a2fdca6 100644 --- a/app/src/main/java/com/navinfo/outdoor/activity/WebActivity.java +++ b/app/src/main/java/com/navinfo/outdoor/activity/WebActivity.java @@ -4,19 +4,35 @@ import android.content.Context; import android.content.Intent; import android.graphics.Bitmap; import android.os.Build; +import android.os.Bundle; import android.util.Log; import android.view.View; import android.webkit.WebSettings; import android.webkit.WebView; import android.webkit.WebViewClient; import android.widget.ImageView; +import android.widget.TextView; +import android.widget.Toast; +import androidx.appcompat.app.AppCompatActivity; + +import com.kongzue.dialog.interfaces.OnDialogButtonClickListener; +import com.kongzue.dialog.util.BaseDialog; +import com.kongzue.dialog.util.DialogSettings; +import com.kongzue.dialog.v3.MessageDialog; +import com.lzy.okgo.model.HttpParams; import com.navinfo.outdoor.R; +import com.navinfo.outdoor.api.Constant; import com.navinfo.outdoor.api.UserApplication; import com.navinfo.outdoor.base.BaseActivity; -import com.gyf.immersionbar.ImmersionBar; -import java.util.ArrayList; +import com.navinfo.outdoor.bean.RichTextBean; +import com.navinfo.outdoor.http.Callback; + +import com.navinfo.outdoor.http.OkGoBuilder; + +import java.util.HashMap; +import java.util.Map; /** * 详情页 @@ -25,21 +41,6 @@ public class WebActivity extends BaseActivity implements View.OnClickListener { private ImageView ivIcon; private WebView nWebView; - private String content = "
\n" + - "测试\n" + - "\n" + - "

\n" + - "\t\n" + - "

\n" + - "\n" + - "

<style> 标签用于为 HTML 文档定义样式信息。

\n" + - "\n" + - "

在 style 中,您可以规定在浏览器中如何呈现 HTML 文档。

\n" + - "\n" + - "

type 属性是必需的,定义 style 元素的内容。唯一可能的值是 \"text/css\"。

\n" + - "\n" + - "

style 元素位于 head 部分中。

\n" + - "
"; @Override protected int getLayout() { return R.layout.activity_web; @@ -48,10 +49,6 @@ public class WebActivity extends BaseActivity implements View.OnClickListener { @Override protected void initView() { super.initView(); - ImmersionBar.with(this) - .statusBarDarkFont(true, 0.2f) - //原理:如果当前设备支持状态栏字体变色,会设置状态栏字体为黑色,如果当前设备不支持状态栏字体变色,会使当前状态栏加上透明度,否则不执行透明度 - .init(); nWebView = findViewById(R.id.news_webView); nWebView.getSettings().setBlockNetworkImage(false); WebSettings settings = nWebView.getSettings(); @@ -59,24 +56,51 @@ public class WebActivity extends BaseActivity implements View.OnClickListener { if (Build.VERSION.SDK_INT > Build.VERSION_CODES.LOLLIPOP) { nWebView.getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW); } - - nWebView.setWebViewClient(new MyWebViewClient()); - settings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN); - settings.setSupportZoom(false);//用于设置webView 放大 - settings.setBuiltInZoomControls(false); - nWebView.addJavascriptInterface(new JavascriptInterface(UserApplication.getUserApplication()),"imagelistner"); - content = content.replace(" map = (HashMap) bundle.getSerializable("map"); + if (map!=null&&!map.isEmpty()){ + for(Map.Entry entry : map.entrySet()){ + httpParams.put(entry.getKey(),entry.getValue()); + } + } + OkGoBuilder.getInstance().Builder(this) + .url(url) + .cls(RichTextBean.class) + .token(Constant.ACCESS_TOKEN) + .params(httpParams) + .getRequest(new Callback() { + @Override + public void onSuccess(RichTextBean response, int id) { + dismissLoadingDialog(); + if (response.getCode()==200){ + String richBody = response.getBody(); + if (richBody!=null){ + richBody = richBody.replace(" imgsUrl = new ArrayList(); - for (String s : imgs) { - imgsUrl.add(s); - Log.d("TAG", "openImage-------------------------: "+s); - } - Intent intent = new Intent(); - intent.putStringArrayListExtra("info", imgsUrl); - intent.setClass(context, ImageShowActivity.class); - intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - context.startActivity(intent); - } - } - // 监听 @@ -142,7 +125,7 @@ public class WebActivity extends BaseActivity implements View.OnClickListener { view.getSettings().setJavaScriptEnabled(true); super.onPageFinished(view, url); // html加载完成之后,添加监听图片的点击js函数 - addImageClickListener(); + // addImageClickListener(); } diff --git a/app/src/main/java/com/navinfo/outdoor/bean/RichTextBean.java b/app/src/main/java/com/navinfo/outdoor/bean/RichTextBean.java new file mode 100644 index 0000000..02e3cec --- /dev/null +++ b/app/src/main/java/com/navinfo/outdoor/bean/RichTextBean.java @@ -0,0 +1,32 @@ +package com.navinfo.outdoor.bean; + +public class RichTextBean { + + private Integer code; + private String message; + private String body; + + public Integer getCode() { + return code; + } + + public void setCode(Integer code) { + this.code = code; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public String getBody() { + return body; + } + + public void setBody(String body) { + this.body = body; + } +}