Commit a3f7a84b authored by linfeng's avatar linfeng

bug修复

parent 17cd964e
...@@ -7,8 +7,8 @@ android { ...@@ -7,8 +7,8 @@ android {
applicationId "com.xxfc.rv" applicationId "com.xxfc.rv"
minSdkVersion rootProject.ext.minSdkVersion minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 109 versionCode 110
versionName "1.0.9" versionName "1.1.0"
multiDexEnabled true multiDexEnabled true
//新版Gradle 是 implementation 为了兼容compile,写上这句话 //新版Gradle 是 implementation 为了兼容compile,写上这句话
......
...@@ -2,6 +2,7 @@ package com.ruiwenliu.wrapper.weight.webview; ...@@ -2,6 +2,7 @@ package com.ruiwenliu.wrapper.weight.webview;
import android.content.Context;; import android.content.Context;;
import android.graphics.drawable.Drawable;
import android.os.Build; import android.os.Build;
import android.util.AttributeSet; import android.util.AttributeSet;
import android.util.Log; import android.util.Log;
...@@ -9,6 +10,10 @@ import android.util.Log; ...@@ -9,6 +10,10 @@ import android.util.Log;
import android.view.accessibility.AccessibilityManager; import android.view.accessibility.AccessibilityManager;
import android.webkit.WebSettings; import android.webkit.WebSettings;
import android.webkit.WebView; import android.webkit.WebView;
import android.widget.LinearLayout;
import android.widget.ProgressBar;
import com.ruiwenliu.wrapper.R;
import java.lang.reflect.Method; import java.lang.reflect.Method;
...@@ -19,7 +24,7 @@ import java.lang.reflect.Method; ...@@ -19,7 +24,7 @@ import java.lang.reflect.Method;
* Desc: * Desc:
*/ */
public class SafeWebView extends WebView { public class SafeWebView extends WebView {
private ProgressBar mProgressBar;
public SafeWebView(Context context) { public SafeWebView(Context context) {
super(context); super(context);
initWeb(context); initWeb(context);
...@@ -57,6 +62,42 @@ public class SafeWebView extends WebView { ...@@ -57,6 +62,42 @@ public class SafeWebView extends WebView {
initListener(); initListener();
initinject(context); initinject(context);
// initinject(context); // initinject(context);
mProgressBar = new ProgressBar(context, null,
android.R.attr.progressBarStyleHorizontal);
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT, 8);
mProgressBar.setLayoutParams(layoutParams);
Drawable drawable = context.getResources().getDrawable(
R.drawable.shape_rv_bg_yellow_progress);
mProgressBar.setProgressDrawable(drawable);
addView(mProgressBar);
setWebChromeClient(new WebChromeClient());
}
public class WebChromeClient extends android.webkit.WebChromeClient {
@Override
public void onProgressChanged(WebView view, int newProgress) {
if (newProgress == 100) {
mProgressBar.setVisibility(GONE);
} else {
if (mProgressBar.getVisibility() == GONE)
mProgressBar.setVisibility(VISIBLE);
mProgressBar.setProgress(newProgress);
}
super.onProgressChanged(view, newProgress);
}
}
@Override
protected void onScrollChanged(int l, int t, int oldl, int oldt) {
LayoutParams lp = (LayoutParams) mProgressBar.getLayoutParams();
lp.x = l;
lp.y = t;
mProgressBar.setLayoutParams(lp);
super.onScrollChanged(l, t, oldl, oldt);
} }
private void initWebSettings(Context context) { private void initWebSettings(Context context) {
......
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/background">
<color android:color="#ffffff"/>
</item>
<item android:id="@android:id/progress">
<clip>
<shape>
<gradient
android:centerColor="#aa47e29a"
android:endColor="#47e29a"
android:startColor="#9947e29a"/>
</shape>
</clip>
</item>
</layer-list>
\ No newline at end of file
...@@ -8,9 +8,9 @@ ...@@ -8,9 +8,9 @@
<clip> <clip>
<shape> <shape>
<gradient <gradient
android:centerColor="#aaf3dd23" android:centerColor="#aa47e29a"
android:endColor="#f3dd23" android:endColor="#47e29a"
android:startColor="#99f3dd23"/> android:startColor="#9947e29a"/>
</shape> </shape>
</clip> </clip>
</item> </item>
......
...@@ -38,5 +38,6 @@ dependencies { ...@@ -38,5 +38,6 @@ dependencies {
annotationProcessor 'com.jakewharton:butterknife-compiler:9.0.0-rc1' annotationProcessor 'com.jakewharton:butterknife-compiler:9.0.0-rc1'
annotationProcessor'com.alibaba:arouter-compiler:1.1.4' annotationProcessor'com.alibaba:arouter-compiler:1.1.4'
api project(':RvWrapper') api project(':RvWrapper')
api project(':component_control')
} }
...@@ -27,6 +27,7 @@ import com.rv.camp.R2; ...@@ -27,6 +27,7 @@ import com.rv.camp.R2;
import com.rv.camp.api.CampApi; import com.rv.camp.api.CampApi;
import com.rv.camp.bean.CampDetailsBean; import com.rv.camp.bean.CampDetailsBean;
import com.rv.camp.presenter.CampPresenter; import com.rv.camp.presenter.CampPresenter;
import com.rv.component.control.ProgressWebView;
import com.yuyife.okgo.OkGoUtil; import com.yuyife.okgo.OkGoUtil;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
...@@ -44,7 +45,7 @@ import static com.ruiwenliu.wrapper.weight.webview.SafeWebView.hasKitkat; ...@@ -44,7 +45,7 @@ import static com.ruiwenliu.wrapper.weight.webview.SafeWebView.hasKitkat;
@Route(path = Constance.ACTIVITY_URL_CAMPDETAIL) @Route(path = Constance.ACTIVITY_URL_CAMPDETAIL)
public class CampDetailActivity extends BaseStatusActivity<CampPresenter> { public class CampDetailActivity extends BaseStatusActivity<CampPresenter> {
@BindView(R2.id.webView) @BindView(R2.id.webView)
WebView mWebView; ProgressWebView mWebView;
private String webUrl; private String webUrl;
...@@ -133,22 +134,28 @@ public class CampDetailActivity extends BaseStatusActivity<CampPresenter> { ...@@ -133,22 +134,28 @@ public class CampDetailActivity extends BaseStatusActivity<CampPresenter> {
// 如果此设置是允许,则 setAllowFileAccessFromFileURLs 不起做用 // 如果此设置是允许,则 setAllowFileAccessFromFileURLs 不起做用
webSettings.setAllowUniversalAccessFromFileURLs(true); webSettings.setAllowUniversalAccessFromFileURLs(true);
mWebView.addJavascriptInterface(new AndroidJs(), "AndroidJs"); mWebView.addJavascriptInterface(new AndroidJs(), "AndroidJs");
mWebView.loadUrl(webUrl); mWebView.setWebViewClient(new WebViewClient(){
mWebView.setWebViewClient(new WebViewClient() {
@Override @Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) { public boolean shouldOverrideUrlLoading(WebView view, String url) {
return super.shouldOverrideUrlLoading(view, request); return false;
}
});
mWebView.setWebChromeClient(new WebChromeClient() {
@Override
public void onProgressChanged(WebView view, int newProgress) {
super.onProgressChanged(view, newProgress);
if (newProgress == 85) {
onHideLoading();
}
} }
}); });
mWebView.loadUrl(webUrl);
// mWebView.setWebViewClient(new WebViewClient() {
// @Override
// public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
// return super.shouldOverrideUrlLoading(view, request);
// }
// });
// mWebView.setWebChromeClient(new WebChromeClient() {
// @Override
// public void onProgressChanged(WebView view, int newProgress) {
// super.onProgressChanged(view, newProgress);
// if (newProgress == 85) {
// onHideLoading();
// }
// }
// });
} }
@Override @Override
......
...@@ -4,11 +4,13 @@ ...@@ -4,11 +4,13 @@
android:layout_height="match_parent" android:layout_height="match_parent"
android:orientation="vertical"> android:orientation="vertical">
<WebView <com.rv.component.control.ProgressWebView
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_weight="1" android:layout_weight="1"
android:id="@+id/webView" /> android:id="@+id/webView">
</com.rv.component.control.ProgressWebView>
<TextView <TextView
android:id="@+id/tv_scheduled_camp" android:id="@+id/tv_scheduled_camp"
......
...@@ -5,6 +5,8 @@ import android.content.Intent; ...@@ -5,6 +5,8 @@ import android.content.Intent;
import android.os.Build; import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
import android.util.Log; import android.util.Log;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.LinearLayout; import android.widget.LinearLayout;
import com.alibaba.android.arouter.facade.annotation.Autowired; import com.alibaba.android.arouter.facade.annotation.Autowired;
...@@ -55,6 +57,12 @@ public class WebActivity extends BaseStatusActivity<PickerPresenter> { ...@@ -55,6 +57,12 @@ public class WebActivity extends BaseStatusActivity<PickerPresenter> {
protected void initView(Bundle savedInstanceState, TitleView titleView, Intent intent) { protected void initView(Bundle savedInstanceState, TitleView titleView, Intent intent) {
titleView.setTitle(intent.getStringExtra("title")); titleView.setTitle(intent.getStringExtra("title"));
String url = intent.getStringExtra("url"); String url = intent.getStringExtra("url");
mWebView.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
return false;
}
});
if (0 == type) { if (0 == type) {
mWebView.loadUrl(url); mWebView.loadUrl(url);
} else { } else {
......
...@@ -24,6 +24,7 @@ import com.frame.rv.config.RvFrameConfig; ...@@ -24,6 +24,7 @@ import com.frame.rv.config.RvFrameConfig;
import com.ruiwenliu.wrapper.base.BaseBean; import com.ruiwenliu.wrapper.base.BaseBean;
import com.ruiwenliu.wrapper.util.ViewHolder; import com.ruiwenliu.wrapper.util.ViewHolder;
import com.ruiwenliu.wrapper.weight.TitleView; import com.ruiwenliu.wrapper.weight.TitleView;
import com.rv.component.control.ProgressWebView;
import com.rv.component.dialog.PaymentTypeSelection; import com.rv.component.dialog.PaymentTypeSelection;
import com.rv.component.utils.ClipboardUtil; import com.rv.component.utils.ClipboardUtil;
import com.rv.home.R; import com.rv.home.R;
...@@ -66,7 +67,7 @@ public class OrderDetailActivity extends BaseStatusActivity<PickerPresenter> { ...@@ -66,7 +67,7 @@ public class OrderDetailActivity extends BaseStatusActivity<PickerPresenter> {
@BindView(R2.id.tv_center) @BindView(R2.id.tv_center)
TextView tvCenter; TextView tvCenter;
@BindView(R2.id.webView) @BindView(R2.id.webView)
WebView mWebView; ProgressWebView mWebView;
@BindView(R2.id.tv_cancel_order) @BindView(R2.id.tv_cancel_order)
TextView tvCancelOrder; TextView tvCancelOrder;
@BindView(R2.id.tv_pick_up_the_car) @BindView(R2.id.tv_pick_up_the_car)
...@@ -401,22 +402,28 @@ public class OrderDetailActivity extends BaseStatusActivity<PickerPresenter> { ...@@ -401,22 +402,28 @@ public class OrderDetailActivity extends BaseStatusActivity<PickerPresenter> {
// 如果此设置是允许,则 setAllowFileAccessFromFileURLs 不起做用 // 如果此设置是允许,则 setAllowFileAccessFromFileURLs 不起做用
webSettings.setAllowUniversalAccessFromFileURLs(true); webSettings.setAllowUniversalAccessFromFileURLs(true);
mWebView.addJavascriptInterface(new AndroidJs(), "AndroidJs"); mWebView.addJavascriptInterface(new AndroidJs(), "AndroidJs");
mWebView.loadUrl(webUrl); mWebView.setWebViewClient(new WebViewClient(){
mWebView.setWebViewClient(new WebViewClient() {
@Override @Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) { public boolean shouldOverrideUrlLoading(WebView view, String url) {
return super.shouldOverrideUrlLoading(view, request); return false;
}
});
mWebView.setWebChromeClient(new WebChromeClient() {
@Override
public void onProgressChanged(WebView view, int newProgress) {
super.onProgressChanged(view, newProgress);
if (newProgress == 85) {
onHideLoading();
}
} }
}); });
mWebView.loadUrl(webUrl);
// mWebView.setWebViewClient(new WebViewClient() {
// @Override
// public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
// return super.shouldOverrideUrlLoading(view, request);
// }
// });
// mWebView.setWebChromeClient(new WebChromeClient() {
// @Override
// public void onProgressChanged(WebView view, int newProgress) {
// super.onProgressChanged(view, newProgress);
// if (newProgress == 85) {
// onHideLoading();
// }
// }
// });
} }
public class AndroidJs { public class AndroidJs {
......
...@@ -24,6 +24,7 @@ import com.ruiwenliu.wrapper.base.BaseBean; ...@@ -24,6 +24,7 @@ import com.ruiwenliu.wrapper.base.BaseBean;
import com.ruiwenliu.wrapper.base.BaseStatusActivity; import com.ruiwenliu.wrapper.base.BaseStatusActivity;
import com.ruiwenliu.wrapper.util.ViewHolder; import com.ruiwenliu.wrapper.util.ViewHolder;
import com.ruiwenliu.wrapper.weight.TitleView; import com.ruiwenliu.wrapper.weight.TitleView;
import com.rv.component.control.ProgressWebView;
import com.rv.component.dialog.PaymentTypeSelection; import com.rv.component.dialog.PaymentTypeSelection;
import com.rv.home.R; import com.rv.home.R;
import com.rv.home.R2; import com.rv.home.R2;
...@@ -55,7 +56,7 @@ public class TravelOrderDetailsActivity extends BaseStatusActivity<PickerPresent ...@@ -55,7 +56,7 @@ public class TravelOrderDetailsActivity extends BaseStatusActivity<PickerPresent
private static final int TYPE_REQUEST_EVALUATION = 102; private static final int TYPE_REQUEST_EVALUATION = 102;
@BindView(R2.id.webView) @BindView(R2.id.webView)
WebView mWebView; ProgressWebView mWebView;
@BindView(R2.id.tv_cancel_order) @BindView(R2.id.tv_cancel_order)
TextView tvCancelOrder; TextView tvCancelOrder;
@BindView(R2.id.tv_pick_up_the_car) @BindView(R2.id.tv_pick_up_the_car)
...@@ -388,22 +389,28 @@ public class TravelOrderDetailsActivity extends BaseStatusActivity<PickerPresent ...@@ -388,22 +389,28 @@ public class TravelOrderDetailsActivity extends BaseStatusActivity<PickerPresent
// 如果此设置是允许,则 setAllowFileAccessFromFileURLs 不起做用 // 如果此设置是允许,则 setAllowFileAccessFromFileURLs 不起做用
webSettings.setAllowUniversalAccessFromFileURLs(true); webSettings.setAllowUniversalAccessFromFileURLs(true);
mWebView.addJavascriptInterface(new AndroidJs(), "AndroidJs"); mWebView.addJavascriptInterface(new AndroidJs(), "AndroidJs");
mWebView.loadUrl(webUrl); mWebView.setWebViewClient(new WebViewClient(){
mWebView.setWebViewClient(new WebViewClient() {
@Override @Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) { public boolean shouldOverrideUrlLoading(WebView view, String url) {
return super.shouldOverrideUrlLoading(view, request); return false;
}
});
mWebView.setWebChromeClient(new WebChromeClient() {
@Override
public void onProgressChanged(WebView view, int newProgress) {
super.onProgressChanged(view, newProgress);
if (newProgress == 85) {
onHideLoading();
}
} }
}); });
mWebView.loadUrl(webUrl);
// mWebView.setWebViewClient(new WebViewClient() {
// @Override
// public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
// return super.shouldOverrideUrlLoading(view, request);
// }
// });
// mWebView.setWebChromeClient(new WebChromeClient() {
// @Override
// public void onProgressChanged(WebView view, int newProgress) {
// super.onProgressChanged(view, newProgress);
// if (newProgress == 85) {
// onHideLoading();
// }
// }
// });
} }
@Override @Override
......
...@@ -44,13 +44,19 @@ ...@@ -44,13 +44,19 @@
</RelativeLayout> </RelativeLayout>
<include layout="@layout/common_line"/>
<WebView <com.rv.component.control.ProgressWebView
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_weight="1" android:layout_weight="1"
android:id="@+id/webView" /> android:id="@+id/webView">
</com.rv.component.control.ProgressWebView>
<!--<WebView-->
<!--android:layout_width="match_parent"-->
<!--android:layout_height="match_parent"-->
<!--android:layout_weight="1"-->
<!--android:id="@+id/webView" />-->
<include layout="@layout/common_line"/> <include layout="@layout/common_line"/>
......
...@@ -46,11 +46,18 @@ ...@@ -46,11 +46,18 @@
<include layout="@layout/common_line"/> <include layout="@layout/common_line"/>
<WebView <com.rv.component.control.ProgressWebView
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_weight="1" android:layout_weight="1"
android:id="@+id/webView" /> android:id="@+id/webView">
</com.rv.component.control.ProgressWebView>
<!--<WebView-->
<!--android:layout_width="match_parent"-->
<!--android:layout_height="match_parent"-->
<!--android:layout_weight="1"-->
<!--android:id="@+id/webView" />-->
<include layout="@layout/common_line"/> <include layout="@layout/common_line"/>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment