知识 分享 互助 懒人建站

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

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

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

    作者:bbin视讯真人娱乐平台登入 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的适配-最新评论

    网站地图 ag视讯官方网登入 gp视讯注册登入 ag视讯官方网址登入
    太阳城mg游戏 申博官网登录 申博娱乐下载 申博手机登入网址
    金冠游戏平台直营网 葡京彩票网低频游戏 网易比分直播 七星彩票官网直营网
    ag视讯直营登入 ag旗舰厅游戏登入 ag视讯游戏下载登入 bbin视讯电子游艺登入
    ag旗舰厅现金网登入 ag旗舰厅官网登入 bbin视讯电子游艺登入 ag视讯直营网登入
    333xsb.com 183XTD.COM XSB4444.COM 85XTD.COM 155DC.COM
    177TGP.COM 22sbsun.com 618cw.com S618C.COM 811TGP.COM
    295SUN.COM 888TGP.COM 181cw.com 8YWS.COM DC738.COM
    XSB838.COM 788TGP.COM 989XTD.COM 998PT.COM 7777ib.com