package com.anthony.library.base;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.widget.Toolbar;
import com.anthony.library.R;
import com.anthony.library.utils.AppUtils;
import com.anthony.library.utils.SettingUtil;
import com.tencent.smtt.sdk.WebChromeClient;
import com.tencent.smtt.sdk.WebSettings;
import com.tencent.smtt.sdk.WebView;
import com.tencent.smtt.sdk.WebViewClient;
import java.util.ArrayList;
import java.util.List;
/**
* Created by Anthony on 2016/12/2.
* Class Note:
* webview detail activity,
*/
public class WebviewDetailsActivity extends AbsBaseActivity {
// @BindView(R.id.toolbar)
Toolbar toolBar;
// @BindView(R.id.wv_tech_content)
WebView wvTechContent;
@Override
protected void initViewsAndEvents(Bundle savedInstanceState) {
toolBar = (Toolbar) findViewById(R.id.toolbar);
wvTechContent = (WebView) findViewById(R.id.wv_tech_content);
//show loading but not include toolbar
List<Integer> skipIds = new ArrayList<>();
skipIds.add(R.id.toolbar);
showLoading(skipIds);
Intent intent = getIntent();
setToolBar(toolBar, intent.getExtras().getString("title"));
WebSettings settings = wvTechContent.getSettings();
if (SettingUtil.getNoImageState(this)) {
settings.setBlockNetworkImage(true);
}
if (SettingUtil.getNoImageState(this)) {
settings.setAppCacheEnabled(true);
settings.setDomStorageEnabled(true);
settings.setDatabaseEnabled(true);
if (AppUtils.isNetworkConnected(mContext)) {
settings.setCacheMode(WebSettings.LOAD_DEFAULT);
} else {
settings.setCacheMode(WebSettings.LOAD_CACHE_ONLY);
}
}
wvTechContent.setBackgroundColor(0x00000000);
settings.setJavaScriptEnabled(true);
settings.setLoadWithOverviewMode(true);
settings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);
settings.setSupportZoom(true);
wvTechContent.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
@Override
public void onPageFinished(WebView webView, String s) {
super.onPageFinished(webView, s);
showContent();
}
});
//可以操作progress
wvTechContent.setWebChromeClient(new WebChromeClient() {
@Override
public void onProgressChanged(WebView view, int newProgress) {
super.onProgressChanged(view, newProgress);
if (newProgress == 100) {
} else {
}
}
@Override
public void onReceivedTitle(WebView view, String title) {
super.onReceivedTitle(view, title);
setTitle(title);
}
});
wvTechContent.loadUrl(intent.getExtras().getString("url"));
}
public static void start(Context context, String title, String url) {
Intent intent = new Intent();
intent.setClass(context, WebviewDetailsActivity.class);
intent.putExtra("title", title);
intent.putExtra("url", url);
context.startActivity(intent);
}
@Override
protected int getContentViewID() {
return R.layout.lib_activity_webview_details;
}
}