一、android 用webview 播放网络视频怎么控制播放按键?
WebView中的video标签默认就会带控制按键,但是在Android webView播放视频还需要以下几个设置:
1. 需要在AndroidManifest.xml文件中声明需要使用HardwareAccelerate, 可以细化到Activity级别,如果不需要的View可以声明不要用加速,但是需要在代码中做
具体如下:
1. 如果要声明整个应用都要加速:< application ... android:hardwareAccelerated =true>
2. 如果要在Activity中声明,则:<activity ... android:hardwareAccelerated=true >Window,getWindow.setFlags( WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED,WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED);
3. 如果application或者activity都申明了要硬件加速,但是为了某些原因(比如省电?),一些View不需要硬件加速的话, view.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
2.需要在AndroidManifest.xml文件中用上<use-sdk></use-sdk>标签,而且如果是空的还不行,必须写上targetSDK或者minSDK,但是我试验过,不管写版本是多少都没有关系。。。理论上说,Android应该是从3.0( API Level 11)开始可以对2D渲染加速,但是我把targetSDK设置为5都可以使用的,但是这个标签不写还不行。
一般来说,上面的操作做了,就可以使用video标签播放视屏了,如果要支持全屏,还需要做一点操作: 给webview一个WebChromeClient对象,这个WebChromeClient对象需要实现onShowCustomView和onHideCustomView方法
二、android中webview 怎么实现网页加载时显示加载进度
首先要使其不是通过手机本身的浏览器来实现浏览网页而是通过这个webview来实现所浏览的网页,
webView.setWebViewClient(new MyWebViewClient());
首先要定义一个progressDialog来实现中间显示加载进度和温馨提示
private class MyWebViewClient extends WebViewClient{
@Override
public void onPageStarted(WebView view, String url,Bitmap favicon) {//网页页面开始加载的时候
if (progressDialog == null) {
progressDialog=new ProgressDialog(MainActivity.this);
progressDialog.setMessage(数据加载中,请稍后。。。);
progressDialog.show();
webView.setEnabled(false);// 当加载网页的时候将网页进行隐藏
}
super.onPageStarted(view, url,favicon);
}
@Override
public void onPageFinished(WebView view, String url) {//网页加载结束的时候
//super.onPageFinished(view, url);
if (progressDialog != null && progressDialog.isShowing()) {
progressDialog.dismiss();
progressDialog = null;
webView.setEnabled(true);
}
}
@Override
public boolean shouldOverrideUrlLoading(WebView view ,String url){ //网页加载时的连接的网址
view.loadUrl(url);
return false;
}
}
三、安卓7.0中多线程web view开启有什么用
自Android 4.4起,引入了webView,使用需要注意的事项: 1.多线程 如果你在子线程中调用WebView的相关方法,而不在UI线程,则可能会出现无法预料的错误。 所以,当你的程序中需要用到多线程时候,也请使用 runOnUiThread()方法来保证
四、android webview 默认浏览器打开
dialog.setContentView(view),view可以是一个包含有WebView组件的布局,这样就可以在Dialog中显示了
启动android默认浏览器
Intent intent = new Intent();
intent.setAction(android.intent.action.VIEW);
Uri content_url = Uri.parse();
intent.setData(content_url);
startActivity(intent);
- 相关评论
- 我要评论
-