Android自定义的webView——可实现的网页文本的复制
2014-04-17 10:13
666 查看
package com.example.customlinearlayout.view; import android.app.ProgressDialog; import android.content.Context; import android.graphics.Bitmap; import android.util.AttributeSet; import android.view.MotionEvent; import android.view.View; import android.webkit.JsResult; import android.webkit.WebChromeClient; import android.webkit.WebSettings; import android.webkit.WebView; import android.webkit.WebViewClient; import android.widget.Toast; public class LiveWebView extends WebView { Context mContext; public LiveWebView(Context context) { super(context); mContext = context; setWebViewClient(); } public LiveWebView(Context context, AttributeSet attrs) { super(context, attrs); mContext = context; setWebViewClient(); } @Override public boolean onCheckIsTextEditor() { return true; } boolean setWebViewClient() { setScrollBarStyle(SCROLLBARS_INSIDE_OVERLAY); setFocusable(true); setFocusableInTouchMode(true); requestFocus(View.FOCUS_DOWN); WebSettings webSettings = getSettings(); webSettings.setSavePassword(false); webSettings.setSaveFormData(false); webSettings.setJavaScriptEnabled(true); webSettings.setSupportZoom(false); webSettings.setUseWideViewPort(true); setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { switch (event.getAction()) { case MotionEvent.ACTION_DOWN: case MotionEvent.ACTION_UP: if (!v.hasFocus()) { v.requestFocus(); } break; } return false; } }); this.setWebViewClient(new WebViewClient() { ProgressDialog dialog = new ProgressDialog(mContext); @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { System.out.println("+-------------------------------"); System.out.println("| shouldOverrideUrlLoading : url: " + url); System.out.println("+-------------------------------"); loadUrl(url); return true; } public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) { Toast.makeText(mContext, "Oh no! " + description, Toast.LENGTH_SHORT).show(); } @Override public void onPageStarted(WebView view, String url, Bitmap favicon) { if (dialog != null) { dialog.setMessage("Loading..."); dialog.setIndeterminate(true); dialog.setCancelable(true); dialog.show(); } } public void onPageFinished(WebView view, String url) { if (dialog != null) { dialog.cancel(); } } }); this.setWebChromeClient(new WebChromeClient() { public void onProgressChanged(WebView view, int progress) { } @Override public boolean onJsAlert(WebView view, String url, String message, JsResult result) { System.out.println("+-------------------------------"); System.out.println("|WebChromeClient onJsAlert " + message); System.out.println("+-------------------------------"); result.confirm(); return true; } }); loadUrl("http://www.baidu.com"); return true; } }
相关文章推荐
- Android TextView 自定义识别文本中的超链接并打开自身WebView(按照微信效果实现)
- Android WebView自定义长按选择实现收藏/分享选中文本功能
- Android WebView 实现缓存网页数据
- Android UI 之居中绘制文本内容的正确方法——实现自定义一个TextView
- android 腾讯微博分享功能实现及自定义webview认证
- Android UI 之居中绘制文本内容的正确方法——实现自定义一个TextView
- Android WebView 网页实现选择文件
- Android自定义WebView实现Youtube网络视频播放控件
- android 腾讯微博分享功能实现及自定义webview认证
- android------引导页两种实现方式(原生和WebView网页实现)
- android 在开发WebView时,去掉网页的标题并设置成自定义的标题
- Android 自定义TextView 实现文本间距
- Android之WebView在Fragment中实现返回上一个网页
- Android 浏览网页:WebView 嵌入浏览器(浏览历史返回、自定义加载失败界面、支持缩放、获取标题栏)
- android------引导页两种实现方式(原生和WebView网页实现)
- android------引导页两种实现方式(原生和WebView网页实现)
- android中自定义WebView显示网页或本地html文件
- Android自定义View实现文本轮播效果
- Android开发TextView实现长按复制文本功能的方法
- android webview 复制文本