前奏
相信很多使用react-native开发app的朋友都有过这样的经力,使用View循环渲染的列表,有时候无法显示分割线,可明明都加的是borderBottomColor 和borderBottonWidth,还是有一些不显示,真实汗颜~,废话不多讲,安排~
解决方案:
通过多次排查,我们发现在样式中加了高度height,并且用了封装的px2dp像素转换的方法,导致计算出现了偏差,这时候主要不去使用px2dp即可解决问题!
px2dp方法:
const { width: screenWidth, height: screenHeight } = Dimensions.get('window'); // 屏幕宽高
const uiWidthPx = 750;
function px2dp(uiElementPx) {
if (screenWidth > screenHeight) {
return (uiElementPx * screenHeight) / uiWidthPx;
}
return (uiElementPx * screenWidth) / uiWidthPx;
}
最后
这个问题看似寻常,一旦遇到就会抓耳挠腮,不知所措。此方法虽然很low,但可以解决问题。希望能帮到有需要的朋友!