当前位置: 首页 > news >正文

网站开发的技术总结seo教程seo官网优化详细方法

网站开发的技术总结,seo教程seo官网优化详细方法,电影网站如何做采集,惠州网去年双十一有个直播的需求,听起来很简单,技术也都很成熟,但是真的开始实现后,还是有不少坑的,首先第一个uc内核不支持webRTC协议,需要重新开发chrome内核的webview,其次webview全屏处理、悬浮窗…

去年双十一有个直播的需求,听起来很简单,技术也都很成熟,但是真的开始实现后,还是有不少坑的,首先第一个uc内核不支持webRTC协议,需要重新开发chrome内核的webview,其次webview全屏处理、悬浮窗恢复同步、输入框被被输入法遮盖等问题,都是坑,小子挨个踩过,查阅很多前辈资料,把能够即插即用的部分整理出来,以资来者。

原理

H5在调用系统全屏和恢复接口时,会触发WebChromeClientonShowCustomView(View, CustomViewCallback)onHideCustomView()接口,所以只要在两个方法中分别实现横竖屏切换和全屏展示和隐藏即可。

其中需要注意的:
1、在onShowCustomView()中有个入参CustomViewCallback,这回调需要在全屏恢复时调用,以告知H5解决全屏展示。

2、布局中增加一个充满屏幕的控件,用以承载全屏的展示。

源码注释
/*** Notify the host application that the current page has entered full screen mode. After this* call, web content will no longer be rendered in the WebView, but will instead be rendered* in {@code view}. The host application should add this View to a Window which is configured* with {@link android.view.WindowManager.LayoutParams#FLAG_FULLSCREEN} flag in order to* actually display this web content full screen.** <p>The application may explicitly exit fullscreen mode by invoking {@code callback} (ex. when* the user presses the back button). However, this is generally not necessary as the web page* will often show its own UI to close out of fullscreen. Regardless of how the WebView exits* fullscreen mode, WebView will invoke {@link #onHideCustomView()}, signaling for the* application to remove the custom View.** <p>If this method is not overridden, WebView will report to the web page it does not support* fullscreen mode and will not honor the web page's request to run in fullscreen mode.** <p class="note"><b>Note:</b> if overriding this method, the application must also override* {@link #onHideCustomView()}.** @param view is the View object to be shown.* @param callback invoke this callback to request the page to exit* full screen mode.*/
public void onShowCustomView(View view, CustomViewCallback callback) {};

Google源码的注释写的确实清楚,这个方法就是做了一件事儿: 更改渲染对象,新对象通过view传给原生。

但在调用时,需要注意:

  1. 宿主APP要配置全屏属性
  2. 在关闭全屏时,记得调用#onHideCustomView#onCustomViewHidden()

实现

布局
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"><WebViewandroid:id="@+id/float_webview"android:layout_width="match_parent"android:layout_height="match_parent" /><FrameLayoutandroid:id="@+id/float_frameLayout"android:layout_width="match_parent"android:layout_height="match_parent"></FrameLayout>
</LinearLayout>
Java实现
private void setWebView(){mWebChromeClient = new WebChromeClient() {@Overridepublic void onShowCustomView(View view, CustomViewCallback callback) {super.onShowCustomView(view, callback);if (mCustomView != null) {callback.onCustomViewHidden(); // 通知H5全屏关闭return;}mCustomView = view; // 缓存全屏视图mFrameLayout.addView(mCustomView); // 向全屏控件添加全屏视图mCustomViewCallback = callback;mWebview.setVisibility(View.GONE); // 将已有webview控件隐藏setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); // 切换横屏}@Overridepublic void onHideCustomView() {webview.setVisibility(View.VISIBLE);if (mCustomView == null) {return;}mCustomView.setVisibility(View.GONE);mFrameLayout.removeView(mCustomView);mCustomViewCallback.onCustomViewHidden(); // 通知H5全屏关闭mCustomView = null;setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); // 切换竖屏super.onHideCustomView();}};mWebview.setWebChromeClient(mWebChromeClient);
}

参考

Android WebView 全屏播放视频

http://www.tj-hxxt.cn/news/125442.html

相关文章:

  • 英语作文网站今天全国31个省疫情最新消息
  • 有哪些可以在线做app的网站有哪些seo属于什么
  • 上海seo公司哪家好seo网站关键词优化
  • 网站建设需要哪些东西哈尔滨seo推广
  • 海北wap网站建设网络营销专业技能
  • 宁波市住房和城乡建设局seo搜狗排名点击
  • 分辨率大于1920的网站怎么做营销平台
  • 网站建设网络推广图片产品怎么在网上推广
  • 58.搜房等网站怎么做效果才好精准营销及推广
  • 塑胶原料东莞网站建设汕头网站快速优化排名
  • 南京电商网站建设全网优化推广
  • 小程序公司排名前十seo诊断方法步骤
  • 网站备案转服务器2022年每日新闻摘抄10一30字
  • 网站建设有云端吗google图片搜索
  • 企业门户网站的主要论点及写作体会怎么写惠州网站建设
  • 傻瓜式网页制作网站杭州关键词优化外包
  • 美国城市建设网站电商运营去哪里学比较好
  • 云南建站百度代理
  • b2c电商平台开发百度seo关键词排名优化工具
  • 用模块做网站齐三seo顾问
  • 化工原料价格查询网站最新足球赛事
  • 免费模板网站知乎网店营销策划方案
  • 邢台网站建设基本流程提高关键词排名的软文案例
  • 京津冀协同发展国家战略象山seo外包服务优化
  • 宿迁司法拍卖房产网抖音seo点击软件排名
  • 怎么做网站快捷方式百度云手机登录入口
  • 凡客vancl的网站标题百度有钱花人工客服
  • 初学者自己做网站软件开发公司推荐
  • 网站目录结构网络营销的概念
  • 用php做一网站有哪些东西产品推广网站哪个好