react-native-swipe-cus
自定义滑动切换组件
安装组件:
npm i --save react-native-swipe-cus
展示ui图
使用
;; ; const styles = StyleSheet { return <Swiper style=styleswrapper showsButtons=true> <View style=stylesslide1> <Text style=stylestext>Hello Swiper</Text> </View> <View style=stylesslide2> <Text style=stylestext>Beautiful</Text> </View> <View style=stylesslide3> <Text style=stylestext>And simple</Text> </View> </Swiper> ; }
属性
基本属性
属性 | 默认值 | 类型 | 描述 |
---|---|---|---|
horizontal | true | bool |
If true , the scroll view's children are arranged horizontally in a row instead of vertically in a column. |
loop | true | bool |
Set to false to disable continuous loop mode. |
index | 0 | number |
Index number of initial slide. |
showsButtons | false | bool |
Set to true make control buttons visible. |
autoplay | false | bool |
Set to true enable auto play mode. |
onIndexChanged | (index) => null | func |
Called with the new index when the user swiped |
自定义样式和内容
属性 | 默认值 | 类型 | 描述 |
---|---|---|---|
width | - | number |
If no specify default enable fullscreen mode by flex: 1 . |
height | - | number |
If no specify default fullscreen mode by flex: 1 . |
style | {...} | style |
See default style in source. |
containerStyle | {...} | style |
See default container style in source. |
loadMinimal | false | bool |
Only load current index slide , loadMinimalSize slides before and after. |
loadMinimalSize | 1 | number |
see loadMinimal |
loadMinimalLoader | <ActivityIndicator /> |
element |
Custom loader to display when slides aren't loaded |
标记页码
属性 | 默认值 | 类型 | 描述 |
---|---|---|---|
showsPagination | true | bool |
Set to true make pagination visible. |
paginationStyle | {...} | style |
Custom styles will merge with the default styles. |
renderPagination | - | function |
Complete control how to render pagination with three params (index , total , context ) ref to this.state.index / this.state.total / this , For example: show numbers instead of dots. |
dot | <View style={{backgroundColor:'rgba(0,0,0,.2)', width: 8, height: 8,borderRadius: 4, marginLeft: 3, marginRight: 3, marginTop: 3, marginBottom: 3,}} /> |
element |
Allow custom the dot element. |
activeDot | <View style={{backgroundColor: '#007aff', width: 8, height: 8, borderRadius: 4, marginLeft: 3, marginRight: 3, marginTop: 3, marginBottom: 3,}} /> |
element |
Allow custom the active-dot element. |
dotStyle | - | object |
Allow custom the active-dot element. |
dotColor | - | string |
Allow custom the active-dot element. |
activeDotColor | - | string |
Allow custom the active-dot element. |
activeDotStyle | - | object |
Allow custom the active-dot element. |
自动滚动
属性 | 默认值 | 类型 | 描述 |
---|---|---|---|
autoplay | true | bool |
Set to true enable auto play mode. |
autoplayTimeout | 2.5 | number |
Delay between auto play transitions (in second). |
autoplayDirection | true | bool |
Cycle direction control. |
控制按钮
属性 | 默认值 | 类型 | 描述 |
---|---|---|---|
showsButtons | true | bool |
Set to true make control buttons visible. |
buttonWrapperStyle | {backgroundColor: 'transparent', flexDirection: 'row', position: 'absolute', top: 0, left: 0, flex: 1, paddingHorizontal: 10, paddingVertical: 10, justifyContent: 'space-between', alignItems: 'center'} |
style |
Custom styles. |
nextButton | <Text style={styles.buttonText}>›</Text> |
element |
Allow custom the next button. |
prevButton | <Text style={styles.buttonText}>‹</Text> |
element |
Allow custom the prev button. |
子内容属性
属性 | 默认值 | 类型 | 描述 |
---|---|---|---|
style | {...} | style |
Custom styles will merge with the default styles. |
title | {...} | element |
If this parameter is not specified, will not render the title. |
<ScrollView />
的一些属性
关于使用属性 | 默认值 | 类型 | 描述 |
---|---|---|---|
horizontal | true | bool |
If true , the scroll view's children are arranged horizontally in a row instead of vertically in a column. |
pagingEnabled | true | bool |
If true, the scroll view stops on multiples of the scroll view's size when scrolling. This can be used for horizontal pagination. |
showsHorizontalScrollIndicator | false | bool |
Set to true if you want to show horizontal scroll bar. |
showsVerticalScrollIndicator | false | bool |
Set to true if you want to show vertical scroll bar. |
bounces | false | bool |
If true , the scroll view bounces when it reaches the end of the content if the content is larger then the scroll view along the axis of the scroll direction. If false , it disables all bouncing even if the alwaysBounce* props are true. |
scrollsToTop | false | bool |
If true, the scroll view scrolls to top when the status bar is tapped. |
removeClippedSubviews | true | bool |
If true, offscreen child views (whose overflow value is hidden) are removed from their native backing superview when offscreen. This canimprove scrolling performance on long lists. |
automaticallyAdjustContentInsets | false | bool |
Set to true if you need adjust content insets automation. |
scrollEnabled | true | bool |
Enables/Disables swiping |
@see: http://facebook.github.io/react-native/docs/scrollview.html
滚动响应事件
属性 | 默认值 | 类型 | 描述 |
---|---|---|---|
onScrollBeginDrag | e / state / context |
function |
When animation begins after letting up |
onMomentumScrollEnd | e / state / context |
function |
Makes no sense why this occurs first during bounce |
onTouchStartCapture | e / state / context |
function |
Immediately after onMomentumScrollEnd |
onTouchStart | e / state / context |
function |
Same, but bubble phase |
onTouchEnd | e / state / context |
function |
You could hold the touch start for a long time |
onResponderRelease | e / state / context |
function |
When lifting up - you could pause forever before * lifting |
Note: each ScrollResponder be injected with two params:
state
andcontext
, you can getstate
andcontext
(ref to swiper'sthis
) from params, for example:
var swiper = React
More ScrollResponder info, see: https://github.com/facebook/react-native/blob/master/Libraries/Components/ScrollResponder.js
方法
scrollBy(index, animated)
Scroll by relative index.
参数:
属性 | 默认值 | 类型 | 描述 |
---|---|---|---|
index | number |
undefined |
offset index |
animated | bool |
true |
offset index |