React-Native Dimensions 获取高度不准确解决

React-Native Dimensions 获取高度不准确解决,第1张

在实际开发中,React-Native通过调用Dimensionsget('window')去获取全面屏手机(MI 10)的高度时,发现获取到的高度要比实际手机高度来的短一些,针对此种情况对全面屏手机做适配。

首先通过获取屏幕的纵横比来判断当前手机是否为全面屏,常规纵横比为大于18 (16:9)。(这里只做了简单判断,当然也有很多更为准确的方案)

查阅相关资料后发现是因为全面屏的statusBar高度问题。

导包:

定义高和宽并计算纵宽比:

对纵宽比做判断并拿到真实高度(针对安卓):

存疑:

1计算纵宽比,当手机为全面屏时,是否会因为获取到的长度会比实际的少,导致wh(纵宽比)降低,影响后面的判断。

补充:MI 10 取Dimensionsget('window')height 拿到的高度为710左右,屏幕宽度在392,纵宽比计算得181。

2在链接1中认为差一个StatusBar的高度,实际编写中,发现链接2的两个高度较为合理。

补充:全面屏发现小米10 占两个高度 , 另一款全面屏测试机占一个高度

实际测试中发现ios设备如果为全面屏则不需要进行处理 所以这里我们需要加一层判断。

你的cell里面加一个UILable,你需要做的是计算你的内容的高度,然后在heightForRowAtIndexPath里面设置你的cell的高度。这是一种方法: #define CELL_CONTENT_WIDTH 3200f (你的cell的宽度) #define CELL_CONTENT_MARGIN 100f CGSize cons

<style type="text/css">

#leftbox{

float:left;

width:200px;

background-color:#FF0000;

}

#rightbox{

float:left;

width:200px;

background-color:#FFFF00

}

bottom{

display:block;

clear:both;

background:#0000FF;

width:400px;

height:50px;

color:#FFFFFF;

}

</style>

<div id="leftbox">左边div的高度会随右边自动调整</div>

<div id="rightbox">右边div的内容是变化的,比如像这样很多很多也没有关系,因为左边和下边的div会跟着变化的。右边div的内容是变化的,比如像这样很多很多也没有关系,因为左边和下边的div会跟着变化的。右边div的内容是变化的,比如像这样很多很多也没有关系,因为左边和下边的div会跟着变化的。右边div的内容是变化的,比如像这样很多很多也没有关系,因为左边和下边的div会跟着变化的。右边div的内容是变化的,比如像这样很多很多也没有关系,因为左边和下边的div会跟着变化的。</div>

<script language="javascript">

if(rightboxoffsetHeight>leftboxoffsetHeight)

{ leftboxstyleheight=rightboxoffsetHeight+"px";}

else

{ rightboxstyleheight=leftboxoffsetHeight+"px";}

</script>

<div class="bottom">这里是下方的div,会随着上面div的高度变化而移动</div>

添加窗口open监听,getContentPane()getSize()可以获取当前真实内部大小,用JFrame的高度-getContentPane()getSize()height = 标题高度,设置JFrame高度为想要的内部高度+标题高度

addWindowListener(new WindowAdapter() {

    public void windowOpened(WindowEvent ev) {

        int realH = getContentPane()getSize()height;

        int titleH = dh - realH;

        setBounds((screenSizewidth - dw) / 2, (screenSizeheight - dh) / 2, dw, dh+titleH);

    }

});

这个jquery应该可以娶到的。给你一个实例,注意自己添加jquery文件哈

<script language='javascript'>  

$(function(){

$("#adds")click(function(){

$("#xx")append("<h2>添加内容</h2>");

});

$("#geth")click(function(){

vh=$("#xx")height();

$("#xx")prepend("<h2>我的高度为:"+vh+"</h2>")

});

}); 

</script>

<div style="width:200px; height:200px; display:block; overflow-y:scroll">

<div id="xx">

sdfsdfs

sdfsdf

sdfsdf

</div>

</div>

<a href="javascript:;" id="adds">点击给XX里面添加内容</a>

<a href="javascript:;" id="geth">点击获取xx的高度</a>

以上就是关于React-Native Dimensions 获取高度不准确解决全部的内容,包括:React-Native Dimensions 获取高度不准确解决、使用AutoLayout 设置的UILable 自动换行,怎么获得真实高度、怎么取到Div的真实高度等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9476460.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存