安卓开发 WebView基础
一个非常基础的Webview实现
主页面:
public class MainActivity extends AppCompatActivity { @Bind(R.id.webview) WebView webview; @Bind(R.id.web_progressBar) ProgressBar webProgressBar; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ButterKnife.bind(this); webview.loadUrl("http://www.baidu.com"); WebSettings webSettings = webview.getSettings(); webSettings.setLoadWithOverviewMode(true); webSettings.setJavaScriptEnabled(true); webSettings.setAppCacheEnabled(true); webSettings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN); webSettings.setSupportZoom(true); webview.setWebChromeClient(new WebViewLoadingStart()); webview.setWebViewClient(new WebViewLoadingEnd()); } /** * 加载时 */ private class WebViewLoadingStart extends WebChromeClient { @Override public void onProgressChanged(android.webkit.WebView view, int newProgress) { webProgressBar.setVisibility(View.VISIBLE); webProgressBar.setProgress(newProgress); } } /** * 加载结束 */ private class WebViewLoadingEnd extends WebViewClient { @Override public void onPageFinished(WebView view, String url) { webProgressBar.setVisibility(View.GONE); } } }
xml就是一个进度条ProgressBar+Webview
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <ProgressBar android:id="@+id/web_progressBar" style="?android:attr/progressBarStyleHorizontal" android:layout_width="match_parent" android:layout_height="1.5dp" android:layout_gravity="center" android:paddingTop="0dp" android:progressDrawable="@drawable/progressbar" android:visibility="visible" /> <WebView android:id="@+id/webview" android:layout_width="match_parent" android:layout_height="match_parent" /> </LinearLayout>
访问的网址是百度~ 实现截图:
点击页面item: