关于WebView的一些简单设置,直接上代码:

布局文件:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:id="@+id/container"    android:layout_width="match_parent"    android:layout_height="match_parent"    tools:context="com.example.calendar.MainActivity"    tools:ignore="MergeRootFrame" >    <WebView        android:id="@+id/webview"        android:layout_width="match_parent"        android:layout_height="match_parent" />    <ProgressBar        android:id="@+id/progressBar"        style="@android:style/Widget.ProgressBar.Horizontal"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:max="100" /></FrameLayout>


java代码:
public class MainActivity extends Activity {private ProgressDialog dialog;private WebView webView;private ProgressBar progressBar;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);progressBar = (ProgressBar) findViewById(R.id.progressBar);webView = (WebView) findViewById(R.id.webview);WebSettings settings = webView.getSettings();// 设置缩放允许settings.setBuiltInZoomControls(true);settings.setSupportZoom(true);// 设置初始比例// webView.setInitialScale(50);// 设置加载进来的页面自适应手机屏幕settings.setUseWideViewPort(true);settings.setLoadWithOverviewMode(true);// 设置使用内置浏览器打开webView.setWebViewClient(new WebViewClient() {@Overridepublic void onPageStarted(WebView view, String url, Bitmap favicon) {// 加载页面时对话框提示if (dialog == null || !dialog.isShowing()) {dialog = new ProgressDialog(MainActivity.this);dialog.setMessage("正在加载中,请稍候...");}dialog.show();}@Overridepublic void onPageFinished(WebView view, String url) {dialog.dismiss();}@Overridepublic boolean shouldOverrideUrlLoading(WebView view, String url) {super.shouldOverrideUrlLoading(view, url);view.loadUrl(url);return true;}});// 页面加载进度webView.setWebChromeClient(new WebChromeClient() {@Overridepublic void onProgressChanged(WebView view, int newProgress) {super.onProgressChanged(view, newProgress);Message msg = new Message();msg.what = 200;msg.obj = newProgress;handler.sendMessage(msg);}});webView.loadUrl("http://www.zjut.edu.cn");// 重新加载,刷新// webView.reload();}private Handler handler = new Handler() {@Overridepublic void handleMessage(Message msg) {switch (msg.what) {case 200:int progress = (Integer) msg.obj;progressBar.setProgress(progress);if (progressBar.getProgress() == 100) {progressBar.setVisibility(View.GONE);}break;}};};@Overridepublic boolean dispatchTouchEvent(MotionEvent ev) {switch (ev.getAction()) {case MotionEvent.ACTION_MOVE:if (webView.getScrollY() == 0) {// 滑动到顶部System.out.println("滑动到顶部.....");}if ((int) (webView.getContentHeight() * webView.getScale()) == (webView.getHeight() + webView.getScrollY())) {// 滑动到底部System.out.println("滑动到底部.....");}break;}return super.dispatchTouchEvent(ev);}@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) {// 处理返回事件,如果页面还可以回退,则回退页面,否则finishif (keyCode == KeyEvent.KEYCODE_BACK) {if (webView.canGoBack()) {webView.goBack();} else {finish();}return true;}return super.onKeyDown(keyCode, event);}}

更多相关文章

  1. android-短信发送器
  2. Android(安卓)高通平台camera hal层调试方法和命令
  3. unity Android(安卓)csv 数据持久化
  4. 20个Android很有用的代码片段
  5. RadioButton练习(android)
  6. android 反编译,反,注射LOG
  7. activity页面多次反复切换会变卡。
  8. Android(安卓)Studio加载字体
  9. 提示Android(安卓)requires compiler compliance level 5.0 or 6

随机推荐

  1. 设置activity为Dialog类型的设置
  2. rtmp/rtsp直播播放器选择
  3. Android 系统编译
  4. Apkudo免费为Android开发者提供测试
  5. Android之间互相的录屏直播 --点对点传输
  6. android tabwidget style
  7. Android番外篇——XML layout与CSS
  8. Android开发实践:实战演练隐式Intent的用
  9. Android(安卓)Studio 与 Tomcat 交互案例
  10. android 状态栏沉浸