首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

用安卓 WebView 做一个“套壳”应用

React Native 和 Weex 之类的框架不是本文讨论的主题,这里就不展开了。...文中创建的示例项目已上传至码云,点击文章底部“阅读原文”即可获取 正文 本文不涉及到复杂的 Android 与 Java 知识,小朋友不需要在家长的陪同下也能观看 ? 1....3.2 隐藏状态栏 该方案在异形屏下会有些问题,且本文将不考虑异形屏的适配。 光隐藏标题栏浏览体验还不够沉浸,得把状态栏隐藏了,不能让用户看到时间和电量!?...修改 「MainActivity.java」 文件,在生命周期 onCreate 内调用 setContentView 函数「之前」添加以下两行代码: // 设置为全屏(隐藏状态栏) requestWindowFeature...(也希望状态栏没事 ?) ? 3.3 接管返回键 默认情况下,在这个只有的 WebView 应用中无论在什么页面触发返回(按键或手势)都是会直接退出应用的,当然这肯定不是我们想要的效果。

9.8K13
您找到你想要的搜索结果了吗?
是的
没有找到

如何开发适配安卓和iOS双平台的React Native应用

我们可以用React Native开发Android应用也可以开发iOS应用,那么如何让我们开发的React Native应用适配Android和iOS双平台呢?...比如,我们在使用StatusBar做导航栏的时候,在iOS平台下根视图的位置默认情况下是占据状态栏的位置的,我们通常希望状态栏下面能显示一个导航栏,所以我们需要为StatusBar的外部容器设置一个高度...另外,类似的例子还有底部导航的TabBarIOS、ToolbarAndroid 等。...性能问题 对于大多数想用React Native开发应用的开发者来说,都很关心React Native的性能问题,React Native和H5+WebView以及原生应用之间的性能对比是:WebView...从大多说采用React Native开发应用的开发者的反馈来看,React Native的性能是远大于WebView但略低于原生应用,毕竟React Native和原生语言之间还需要一个Bridge。

3.3K20

React Native 开发适配心得

我们可以用React Native开发Android应用也可以开发iOS应用,那么如何让我们开发的React Native应用适配Android和iOS双平台呢?...比如,我们在使用StatusBar做导航栏的时候,在iOS平台下根视图的位置默认情况下是占据状态栏的位置的,我们通常希望状态栏下面能显示一个导航栏,所以我们需要为StatusBar的外部容器设置一个高度...另外,类似的例子还有底部导航的TabBarIOS、ToolbarAndroid 等。...性能问题 对于大多数想用React Native开发应用的开发者来说,都很关心React Native的性能问题,React Native和H5+WebView以及原生应用之间的性能对比是:WebView...从大多说采用React Native开发应用的开发者的反馈来看,React Native的性能是远大于WebView但略低于原生应用,毕竟React Native和原生语言之间还需要一个Bridge。

2.4K50

【最新】iPhone X 交互设计官方指南

但是请注意,当背景任务(例如录音和位置跟踪)处于活动状态时,iPhoneX 上的状态栏并不会改变高度。 如果你的应用程序对隐藏状态栏进行了隐藏,那么请重新考虑在 iPhone X 上的设计。...iPhone 上的显示高度为 4.7 英寸,并且它的屏幕上提供了更多的垂直空间内容,状态栏占据了你的应用程序本来可以使用的屏幕区域,状态栏还显示了对人们有用的信息,只有在交换附加值时候才能被隐藏。...避免将交互式控件放置在屏幕最底部和角落里。人们可以使用显示屏底部的滑动手势来访问主屏幕和对应用程序进行切换,这些手势可能会覆盖掉你在此区域中设定的自定义手势。另外屏幕的两个角落令人很难进行有效操作。...不要隐藏设备的圆角和传感器外壳,也不要通过在屏幕顶部和底部放置黑色条的方式来突出主屏幕的指示器。不要使用类似括号、边框、形状或文字之类的视觉装饰来引起人们对这些区域的注意。...Three.js制作酷炫无比的无穷隧道特效 一个治愈JavaScript疲劳的学习计划 全栈工程师技能大全 WEB前端性能优化常见方法 一小时内搭建一个全栈Web应用框架 干货:CSS 专业技巧 四步实现React

1.9K20

百亿补贴通用H5导航栏方案

window.location.reload()刷新当前页面的时候,即便是在js中隐藏了导航条,webview为了兼容一个线上问题,执行reload时此时会先展示原生导航条,直到执行了js的隐藏逻辑,才会被隐藏...4、灵活定制 采用左、中、右、状态栏、导航栏分层设计的模式,支持传入React.ReactElement,比原生定制性更强,可灵活定制目前站内绝大部分导航条样式以及交互动画,合理高效利用导航条资源。...异常场景2:webview加载html失败。 为了消除上面提到的过渡问题,业务链接中新增了qurey参数hideNavi=1 ,原生webview会通过该字段在webview出现之前隐藏导航条。...异常场景2:webview加载html失败。 为了消除上面提到的过渡问题,业务链接中新增了qurey参数hideNavi=1 ,原生webview会通过该字段在webview出现之前隐藏导航条。...现状中的几个异常场景,仍需要webview配合一起整改,所以目前整改方案为: 业务链接中新增qurey参数hideNavi=1,此时 webview通过该字段在webview 出现之前隐藏导航条。

23440

Android实现长图截取、拼接和添加水印

当然这个方法截图是无法截取时间电量的状态栏信息的。 需求来了 截取WebView中显示的所有内容,这个功能就不能用以上提到的方式,否则只能截图屏幕大小的图片。 首先看下截图预览 ?...而要创建Bitmap就必须得知道宽高,那么WebView的高度应该如何获取呢?...查看WebView源码发现一个方法computeVerticalScrollRange方法,此方法就是计算WebView的实际可以滑动的高度。...长图外,再加上顶部的toolbar(不包括时间电量状态栏)和底部的bottomBar的截图,并且需要在截图中添加水印 这就需要用到一开始提到View的截图方法了,分别截取了这几个图片后,拼接组成一个新的长图...); //開始拼圖 Paint paint = new Paint(); canvas.drawBitmap(topBmp, 0, 0, paint);//画底部

2.2K10

移动跨平台框架React Native状态栏组件StatusBar【16】

React Native 状态栏组件 StatusBar 状态栏 StatusBar 就是手机屏幕最顶上一个区域,包含 运营商名称、网络情况、电池情况那一条。...暗色系 亮色系 在 React Native 中我们可以定制 状态栏 StatusBar 。当然了,说是定制,无非以下几点 显示或隐藏状态栏。 设置主题色:亮色系还是暗色系。...设置显示或隐藏时是否启用动画。 React Native 提供了 `` 组件来做上面这些事情。... 静态方法 除了可以使用属性来设置状态栏外,React Native 中的 StatusBar 还提供了一些静态方法用来设置状态栏。...StatusBar barStyle = "dark-content" hidden={false} /> ) } export default App 运行效果如下 范例2 下面的代码,我们使用脚本来控制状态栏的显示和隐藏

2.1K20

微信小程序-开发入门(一)

之前一直也在关注,就这半年的发展来看,相对原生APP大部分公司还是不愿意将主营业务放到微信平台上,以免受制于腾讯,不过就小程序的应用场景(用完即走和二维码分发等)还是很值得我们学习的,技术上面如果了解React...二、小程序的框架 1、小程序的配置   app.json主要分为五个部分:pages:页面组,window:框架样式(状态栏、导航条、标题、窗口背景色),tabBar:底部菜单,networkTimeout...onLaunch: function() { },//监听初始化 onShow: function() { },//监听显示(进入前台) onHide: function() { },//监听隐藏...onReady: function() { },//监听初次渲染完成 onShow: function() { },//监听显示 onHide: function() { },//监听隐藏...--wx:if条件渲染--> WEBVIEW <view wx:elif="{{view == 'APP'}}"

2.5K50

SafariChrome调试WebView

WebView 大多数App会选择H5去实现某些弱交互但是却需要热更新界面,这时候WebView就派上用场了,那么如何对WebView进行调试呢?...开启开发菜单 Safari -> 偏好设置 勾选“在菜单栏显示开发菜单” 设备的Safari调试 设置 -> Safari -> 高级 - > 开启Web检查器 选择要调试的网页 在App内打开对应的Webview...状态栏点击开发 -> 选择设备 -> 选择网页 然后,就可以通过safari调试这个网页了 对于iOS原生开发来说,用的做多的还是终端,比如你要测试一个WKWebView的JSBridge window.webkit.messageHandlers.bridgeName.postMessage...或者测试一个scheme window.location.herf="xxxxx" 建议iOS开发者学习一些JS的基本知识,这会对调试WebView大有帮助。...Chrome调试 Chrome调试比较适合写H5的同学,因为在这里可以使用类似React/Redux等插件来提高效率。

1.3K20

iPhone X 适配手Q H5 页面通用解决方案

目前的H5页面可以分为通栏页面和非通栏页面两种,每种页面都可能有底部操作栏,具体如下: 通栏页面 顶部通栏 某些业务的一级页面多数使用了顶部通栏banner的效果,由于iPhone X在状态栏增加了24px...这个问题涉及到安全区域,iOS11 和先前版本的不同之处在于,webview 比较重视安全区域了。这意味着,如果给页面元素设置 top: 0, 它会渲染在屏幕顶部的44px之下,也就是状态栏下面。...对于通栏页面,设置了viewport-fit的属性,发现会不生效,经过跟同事查看手Q源码后发现,终端对于WebView通栏的情况设置了UIScrollViewContentInsetAdjustmentNever...另外提一点,经过2个版本的webview测试,发现WKWebView在渲染页面的时候,底部按钮在位置表现上不一致,可能是一个还未解决的bug: 使用web方案: 根据以上的设计方案,可以这样处理: 修改页面...既然使用web的方式来解决这个问题不是很完美,是否可以通过终端的方式给webview增加适配层,从而解决这个问题呢?

13K1911

Android爬坑之旅:软键盘挡住输入框问题的终极解决方案

最基本的情况,如图所示:在页面底部有一个EditText,如果不做任何处理,那么在软键盘弹出的时候,就有可能会挡住EditText。...总之,基本上只要是App自己接管了状态栏的控制,就会产生这种问题。...如果Activity是普通的非全屏模式,那么android.R.id.content就是占满除状态栏之外的所有区域。...因为能触发OnGlobalLayout事件的原因有很多,不止是软键盘的弹出变化,还包括各种子View的隐藏显示变化等,它们对界面高度的影响有限。...总结起来,就是这样: 普通Activity(不带WebView),直接使用adjustpan或者adjustResize 如果带WebView: a) 如果非全屏模式,可以使用adjustResize

4.4K20

Android Bitmap的截取及状态栏隐藏和显示功能

1.项目中需要分享的界面长这个样子,大家可以看到,状态栏、标题栏、中间需要分享的部分、底部按钮 ?...2.需要分享的图片长这个样子,底部状态栏、标题栏和底部按钮全部隐藏,接下来我就用最笨的方法开始操作了 ?...3.首先是状态栏 getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); //隐藏状态栏 getWindow().clearFlags...PS:下面看下Android 显示隐藏状态栏实例代码 Android 显示隐藏状态栏,小说阅读界面要用到 /** * 显示隐藏状态栏,全屏不变,只在有全屏时有效 * @param enable...).clearFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS); } 总结 以上所述是小编给大家介绍的Android Bitmap的截取及状态栏隐藏和显示功能

1.1K10

【Flutter 专题】41 图解神秘的 SystemChrome~

SystemUiOverlay.top 默认隐藏底部虚拟状态栏(需手机支持虚拟状态栏设备),即三大金刚键;获取焦点后展示状态栏,展示大小为去掉状态栏时整体大小; SystemChrome.setEnabledSystemUIOverlays...SystemUiOverlay.bottom 默认隐藏顶部虚拟状态栏,获取焦点后展示状态栏,展示大小为去掉状态栏时整体大小; SystemChrome.setEnabledSystemUIOverlays...两者皆有 即默认情况,顶部底部状态栏均展示; SystemChrome.setEnabledSystemUIOverlays([SystemUiOverlay.top, SystemUiOverlay.bottom...]); setSystemUIOverlayStyle setSystemUIOverlayStyle 用来设置状态栏顶部和底部样式,默认有 light 和 dark 模式,也可以按照需求自定义样式...; 1. systemNavigationBarColor 该属性仅用于 Android 设备且 SDK >= O 时,底部状态栏颜色; SystemChrome.setSystemUIOverlayStyle

1.8K31

笔记 | Xamarin

但是,可以使用 FlyoutItemIsVisible 属性将项隐藏在浮出控件中,并使用 IsVisible 属性将其从浮出控件中删除: 类型为 bool 的 FlyoutItemIsVisible 指示项是否已隐藏在浮出控件中但仍可以通过...Icon="icon_feed.png" ContentTemplate="{DataTemplate local:ItemsPage}" /> 目测,不加 Title, Icon 就会隐藏起来...此选项启用时,程序集会捆绑到本机共享库中。...“将程序集捆绑到本机代码”在默认情况下处于禁用状态。 请注意,“捆绑到本机代码”选项执行不意味着程序集会编译到本机代码中。 无法使用 AOT 编译将程序集编译为本机代码。...Xamarin - Visual Studio App Center | Microsoft Docs Visual Studio App Center | iOS, Android, Xamarin & React

23.9K20

Android适配底部虚拟按键的方法详解

最近项目进行适配的时候发现部分(如华为手机)存在底部虚拟按键的手机会因为虚拟按键的存在导致挡住部分界面,因为需要全屏显示,故调用虚拟按键隐藏方法使之隐藏,然而发现出现如下问题: 手动操作隐藏虚拟按键后出现长白条区域...不自动隐藏 滑出状态栏后虚拟按键也出来,状态栏隐藏后虚拟却不跟着隐藏 在没有虚拟按键的设备上影响了SurfaceView全屏显示图传(原本全屏显示的图传在切出去再进来时变成了小屏显示) 通过google...了很多方法并尝试终于解决了这个问题,达到如下效果: 每次进入界面时虚拟按键自动隐藏 手动滑出虚拟按键,当不操作屏幕时定时自动隐藏 当滑出状态栏时虚拟按键会跟着出来,也要处理让其和状态栏在不操作时自动隐藏...如弹出dialog时虚拟按键会出来,此时要手动调用隐藏,还有弹出键盘等等。 记录一下,以后遇到此类问题可供参考。...以上这篇Android适配底部虚拟按键的方法详解就是小编分享给大家的全部内容了,希望能给大家一个参考。

2.5K20

React Native iOS 剖析 WebView && 解决 Error loading page Domain: WebKitErrorDomain Error Code: 101 The U

也就不会出现我们碰到的这个问题了 解决方法二 对不合法的请求进行拦截 当然 React Native 中的 WebView 也是存在这个回调的。...webView 将会被隐藏。。...为什么加载出错的情况下,我的 webView隐藏了呢?????...也就是说 外部的 this.props.style 对 webView 的显示与隐藏无任何作用。 只要 webView隐藏了,那么一切等于 0。 在加上上述 “重点一”,那么,那么,无能为力。...代码,当出现错误的情况下,我们不希望 webView隐藏掉,如果真的希望隐藏,我们可以通过 style 来隐藏 那么就是将 441 行代码开始 var webViewStyles = [styles.container

4K30
领券