如有不对的地方望各位小哥哥小姐姐指导,小女子在此谢过(*^__^*) 嘻嘻……
前后对比图,
一、先看一下我的webview页面的设置
package com.mobivans.onestrokecharge.activitys;
import android.os.Build;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.annotation.RequiresApi;
import android.webkit.WebResourceRequest;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import com.mobivans.onestrokecharge.R;
import com.mobivans.onestrokecharge.customerview.LoadingDialog;
import static android.webkit.WebSettings.LOAD_NO_CACHE;
/**
* @author: 潇潇
* @create on: 2019/6/14
* @describe:发现页文章加载链接的webview,里面做读文章获取金币
*/
public class ArticleWebviewActivity extends BaseActivity {
// @ViewId(R.id.article_webview)
WebView webView;
private WebSettings webSettings;
private String url;
LoadingDialog loadingDialog;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_article_webview);
webView = findViewById(R.id.article_webview);
loadingDialog = new LoadingDialog(this);
loadingDialog.show();
get_intent();
setWeb();
}
private void get_intent() {
url = getIntent().getStringExtra("url");
}
private void setWeb() {
webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true);//支持javascript
webSettings.setCacheMode(LOAD_NO_CACHE);
webView.getSettings().setDomStorageEnabled(true);
webView.requestFocus();
webView.getSettings().setUseWideViewPort(true);//扩大比例的缩放
webView.getSettings().setLoadWithOverviewMode(true);
webView.getSettings().setSupportZoom(true); // 设置可以支持缩放
webView.getSettings().setBuiltInZoomControls(true);//设置出现缩放工具
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
webView.getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
}
//自适应屏幕
// webView.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);
// webView.getSettings().setLoadWithOverviewMode(true);
//如果不设置WebViewClient,请求会跳转系统浏览器
webView.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
if (loadingDialog != null) {
loadingDialog.dismiss();
}
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
//该方法在Build.VERSION_CODES.LOLLIPOP以前有效,从Build.VERSION_CODES.LOLLIPOP起,建议使用shouldOverrideUrlLoading(WebView, WebResourceRequest)} instead
//返回false,意味着请求过程里,不管有多少次的跳转请求(即新的请求地址),均交给webView自己处理,这也是此方法的默认处理
//返回true,说明你自己想根据url,做新的跳转,比如在判断url符合条件的情况下,我想让webView加载http://ask.csdn.net/questions/178242
view.loadUrl(url);
return false;
}
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
//返回false,意味着请求过程里,不管有多少次的跳转请求(即新的请求地址),均交给webView自己处理,这也是此方法的默认处理
//返回true,说明你自己想根据url,做新的跳转,比如在判断url符合条件的情况下,我想让webView加载http://ask.csdn.net/questions/178242
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
view.loadUrl(request.getUrl().toString());
} else {
view.loadUrl(request.toString());
}
return false;
}
});
webView.loadUrl(url);
}
}
然后当我加载某一个链接的时候,却只能显示一点点,然后其他的链接都是没有问题的,检查了一遍代码也没有错误,
然后也是百度了一番,发现网上的并没有解决我的问题
二、最后我自己找到了问题的所在:
解决的办法是吧WebView的高度设置为match_parent然后问题就解决了(刚开始我是设置的自适应)
<WebView
android:id="@+id/article_webview"
android:layout_width="match_parent"
android:layout_height="match_parent">