hippy-react

620 阅读2分钟

样式写法 

 stylesheet.create

style={{属性: '属性值'}}

styles.obj

const styles = { bodyBefore: { position: 'absolute', backgroundColor: '#F8F8F8', }, };

<BodyBefore  style={[styles.bodyBefore, this.props.style]}></BodyBefore>

两者的区别,官方文档中也有说明,stylesheet.create 主要从性能上考虑:

后者这种自定义样式的方式,传入过来的 style 必须是一个纯对象,如果传入的是通过 stylesheet.create 创建的样式则会报错。建议使用 stylesheet.create 创建样式对象

css支持属性 

  1. 支持flex布局,absolute布局;
  2. 单位不支持百分比;
  3. 不具有继承性;
  4. 文本样式只对text标签生效;
  5. 不能直接修改style,需动态增减属性;
  6. 不支持媒体查询;
  7. 无inline-block属性需用标签包裹实现行内元素的效果;( )
  8. ios 端 0.5像素细线问题 需PixelRatio.get()解决 ; { borderWidth: 1 / PixelRatio.get(), }
  9. 不可使用伪类。

全方位适配;

    1).响应式   ( 首先获取设备的尺寸,以设计稿为标准参照,这里以100为缩放基数利于换算,开发者只需要将设计稿里的数值传入到方法里就行了。)

2).边界 (等比缩放宽度没有限制,当是Pad屏幕或折叠屏尺寸时则让组件按在iphone plus展现的尺寸来显示。)

3).横竖屏(1 通过window返回的宽高进行判断在页面中第一次初始化中,在IOS中,后续切换横竖屏window返回的宽高仍旧是初始值(安卓表现正常)2通过的onLayout事件返回的宽高进行判断获取到onLayout事件返回值,用于初始化后监听页面横竖屏切换)

备注:也可借助 Hippy SDK 提供的 screenOrientationChanged 全局事件先获取手机当前处于竖屏还是横屏

4).刘海屏 

  • ios适配iphoneX

这里的适配主要是在竖屏下,顶部多留出调试为 44 的刘海高度,底部的安全区域在 Hippy 框架下一般不用关注,底部的工具栏,框架已经做了适配处理 。

3. 注意事项;

1,弹窗防止穿透

4.调试