多个style
1 | style={[styles.style1, styles.style2]} |
组件
组件之间的属性/事件传递
- 父子组件
- 兄弟组件事件传递
- DeviceEventEmitter http://blog.csdn.net/slowlifes/article/details/75330862
组件使用
FlatList 列表
- 自带滚动 scrollView,设置上下间距无效,需要设置到子元素的view
- contentContainerStyle 样式应用到内层容器
- onRefresh 需要 与 refreshing 共用
- onScroll
- event参数
- event.nativeEvent.contentOffsetY 滚动垂直距离
- event.nativeEvent.layoutMeasurement.height 滚动内容高度
- numColumns={3} 三列、横行排列
- horizonal={true} 始终横向排列,超出范围横向滚动
1
2
3
4
5
6
7<FlatList
data={this.state.userList}
keyExtractor={this.keyExtractor}
renderItem={this.renderItem}
style={styles.container}
numColumns={3}
/>
尺寸
ppi
像素密度 ppi / 160
dp 与 px 的关系
1 | dp = px / (ppi / 160) |
[app 设计详细]http://www.25xt.com/appdesign/8862.html
手势、点击穿透
pointerEvent 控制组件与子组件之间的触摸关系
图片
- 网络图片需要预设一个固定宽高,否则大小为0
gif图支持
android/app/build_gradle1
2
3dependencies
// For animated GIF support
compile 'com.facebook.fresco:animated-gif:0.13.0'圆角图片溢出(有锯齿)
overflow: ‘hidden’安卓中无效,子级元素会溢出
防止圆角图片溢出:添加父级View作溢出处理(父级为设置了borderRadius的View)
zIndex
opacity属性会影响溢出显示的元素的层次顺序,因此可以用在子元素上
zIndex不一定有效,最好是通过元素顺序来控制层次
滚动事件
- onScrollBeginDrag
- onScrollEndDrag
- onMomentumScrollBegin
- onMomentumScrollEnd
- onScroll
滚动导航置顶
- 滚动列表的高度需要固定(置顶前高度=屏幕高度),否则会因为导航置顶,滚动内容高度变化造成闪烁
- 动画,interpolate 插值
点击涟漪反馈
- 支持android api 21+
- MRN 基于React Native的Material Design风格的组件库 支持android api 16+
1 | <TouchableNativeFeedback |
动画
教程
loop动画在组件销毁前最好先stop
字体过长处理
ellipsizeMode=’tail’ numberOfLines={1}