知识 分享 互助 懒人建站

    懒人建站专注于网页素材下载,提供网站模板、网页设计、ps素材、图片素材等,服务于【个人站长】【网页设计师】和【web开发从业者】的代码素材与设计素材网站。

    懒人建站提供网页素材下载、网站模板
    知识 分享 互助!

    React Native不同设备分辨率适配和设计稿尺寸单位px的适配

    作者:速博娱乐是什么 2018-02-22 人气:
    React Native不同设备分辨率适配和设计稿尺寸单位px的适配,设计师给的稿子都是按照px像素单位设计的,这个时候我们怎么快速还原设计稿那?下面代码实现React Native设计稿尺寸单位px与pt单位的自动转换适配。

    React Native不同设备分辨率适配和设计稿尺寸单位px的适配,设计师给的稿子都是按照px像素单位设计的,这个时候我们怎么快速还原设计稿那?

    React Native中使用的尺寸单位是dp(一种基于屏幕密度的抽象单位。在每英寸160点的显示器上,1dp = 1px),而设计师使用的是px, 这两种尺寸如何换算呢?

    官方提供了PixelRatio进行pt到px的转换

    import {PixelRatio} from 'react-native';
    const dp2px = dp=>PixelRatio.getPixelSizeForLayoutSize(dp);
    const px2dp = px=>PixelRatio.roundToNearestPixel(px);

    设计师给你一个尺寸,比如100px*200px的View,按照下面的方式可实现设计还原:

    View style={{width:px2dp(100),height:px2dp(200),backgroundColor:"red"}}

    如果每个地方都这样写会很麻烦,于是我们就有了下面转换代码

    import {PixelRatio,Dimensions}} from 'react-native';
    const dp2px = dp=>PixelRatio.getPixelSizeForLayoutSize(dp);
    const px2dp = px=>PixelRatio.roundToNearestPixel(px);
    let designSize = {width:720,height:1280}; //假设设计尺寸为:720*1280
    let pxRatio = PixelRatio.get();
    let win_width = Dimensions.get("window").width;
    let win_height = Dimensions.get("window").height;
    let width = dp2px(win_width);
    let height = dp2px(win_height);
    let design_scale = designSize.width/width;
    height = height*design_scale
    let scale = 1/pxRatio/design_scale;

    实际使用:

    要在最外层View上设置如下样式:

    const styles = StyleSheet.create({
        container: {
            width: width,
            height: height,
            transform: [{translateX: -width * .5}, {translateY: -height * .5}, {scale: scale}, {translateX: width * .5}, {translateY: height * .5}]
        }
    });

    在后续的开发中将不必再关注适配的问题,只需要按照设计师给的尺寸实现布局即可,比如设计稿中的图片尺寸是300px*300px,你的样式中就写 width: 300,height: 300,

    这里就写设计稿上的300px 300px,不用带单位
    image: {
            width:300,
            height:300
        }

    原文:https://www.jianshu.com/p/7836523b4d20  详细描述可以查看原文

    ↓ 查看全文

    React Native不同设备分辨率适配和设计稿尺寸单位px的适配由懒人建站收集整理,您可以自由传播,请主动带上本文链接

    懒人建站就是免费分享,觉得有用就多来支持一下,没有能帮到您,懒人也只能表示遗憾,希望有一天能帮到您。

    React Native不同设备分辨率适配和设计稿尺寸单位px的适配-最新评论

    网站地图 豪博在线娱乐 龙博娱乐官方网站 欧华线上娱乐
    菲律宾申博太阳城登入 申博太阳城现金网 申博开户注册 申博99sunbet
    彩运来娱乐 凤凰彩票江苏快三 金巴黎彩票网黑龙江时时彩 征途游戏好玩吗登入
    新世纪娱乐博彩 英皇国际在线娱乐 宝马会娱乐试玩 宝马会娱乐官网555
    博狗开户 明陞国际娱乐 大佬线上娱乐场 伟博娱乐官方网站
    9TGP.COM 218sunbet.com 587sunbet.com ib65.com 187PT.COM
    8ZTS.COM 8NCS.COM 658PT.COM 200xsb.com 718jbs.com
    7777ib.com XSB594.COM 8AQS.COM 66TGP.COM 167psb.com
    S618W.COM XSB345.COM 1112931.COM S618U.COM 777sbmsc.com