rn开发的样式问题
1.button组件
不能在样式中,改变背景颜色,字体样式等。
可以在外部的view组件中,一般在项目中使用TouchableOpacity(TouchableHighlight)、Text结合使用
2.view组件
默认flex-direction:column flex布局。
3.<Text></Text>
包裹在View元素中的Text表现为block,可以设置margin和padding的各种属性;包裹在Text元素中的Text表现为inline元素,不能设置其marginTop和marginBottom, padding等用于block元素的属性。
4.flatlist上滑加载,不要嵌套到scrollView中。会因为高度问题报错。其父级必须设置高度。
5.设置虚线时,View设置虚线时,必须设置borderRadius:不为0 ,borderWidth 、borderColor、三个缺一不可。
6.rn中的position,只有relative和absolute ,而且使用position:absolute时,不用定义父级的relative。
7.<Image>组件
require引入图片,必须是一个常量。
8.ios端的borderRadius失效,一般采用overflow:'hidden',进行改变。
9.rpx 、dp、px之间的转换关系
dp与px之间的关系:
像素密度:屏幕分辨率(240x320)/物理尺寸(1.5英寸x2英寸) =160dpi
DPI:像素/英寸。
Android系统定义了四种像素密度:低(120dpi)、中(160dpi)、高(240dpi)和超高(320dpi),它们对应的dp到px的系数分别为0.75、1、1.5和2,这个系数乘以dp长度就是像素数。
例如界面上有一个长度为“80dp”的图片,那么它在240dpi的手机上实际显示为80x1.5=120px,在320dpi的手机上实际显示为80x2=160px。
dip与dp在android上相同。
rpx(responsive pixel): 是微信小程序解决自适应屏幕尺寸的尺寸单位。
微信规定的是一个是750px, 1rpx = 屏幕宽度/750 px
pt : 绝对长度单位 ,逻辑像素,一个专用的印刷单位“磅”,大小为1/72英寸。 pt= px * 3/4
而 pt 和 px 的使用区别,只有当用户改变默认的 96DPI 下才会产生:使用 px 定义文字,无论用户怎么设置,都不会改变大小;使用 pt 定义文字,当用户设置超过 96DPI 的值,数值越大,字体就越大。
10.将一个块级元素在一个位置水平垂直居中,父级和子级都有固定的宽高,
position: 'absolute',
left: '50%',
top: '50%',
transform: [{ translateX: -rpx(10) }, { translateY: -rpx(10) }]
11.style布局样式怕,采用数组时,右边的会执行,覆盖掉前面的样式。不推荐数组中既有行内样式和css样式。
12.View控件中设置padding,在ios端不生效 ,解决方法:设置margin
13.marginHorizontal number//设置item的水平外边距 marginVertical number//设置item的垂直外边距
paddingHorizontal //设置水平内边距 paddingVertical //设置垂直内边距

浙公网安备 33010602011771号