Skip to content

Commit

Permalink
Add thumb image
Browse files Browse the repository at this point in the history
  • Loading branch information
janmarsicek committed Jun 13, 2016
1 parent 0a6cdef commit b80a78d
Show file tree
Hide file tree
Showing 10 changed files with 39 additions and 2 deletions.
21 changes: 20 additions & 1 deletion Example/app.js
Original file line number Diff line number Diff line change
Expand Up @@ -135,6 +135,14 @@ var SliderExample = React.createClass({
thumbTouchSize={{width: 50, height: 40}}
/>
</SliderContainer>
<SliderContainer caption='<Slider/> with custom style #9 and thumbImage'>
<Slider
minimumTrackTintColor='#13a9d6'
thumbImage={require('./img/thumb.png')}
thumbStyle={customStyles9.thumb}
thumbTintColor='#0c6692'
/>
</SliderContainer>
</ScrollView>
);
},
Expand Down Expand Up @@ -281,7 +289,7 @@ var customStyles7 = StyleSheet.create({

var customStyles8 = StyleSheet.create({
container: {
height: 20,
height: 30,
},
track: {
height: 2,
Expand All @@ -299,4 +307,15 @@ var customStyles8 = StyleSheet.create({
}
});

var customStyles9 = StyleSheet.create({
thumb: {
width: 30,
height: 30,
shadowColor: 'black',
shadowOffset: {width: 0, height: 1},
shadowOpacity: 0.5,
shadowRadius: 1,
}
});

AppRegistry.registerComponent('Example', () => SliderExample);
Binary file added Example/img/thumb.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Example/img/[email protected]
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Example/img/[email protected]
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,7 @@ onSlidingComplete | function | Yes | | Callba
style | [style](http://facebook.github.io/react-native/docs/view.html#style) | Yes | | The style applied to the slider container
trackStyle | [style](http://facebook.github.io/react-native/docs/view.html#style) | Yes | | The style applied to the track
thumbStyle | [style](http://facebook.github.io/react-native/docs/view.html#style) | Yes | | The style applied to the thumb
thumbImage | [source](http://facebook.github.io/react-native/docs/image.html#source) | Yes | | Sets an image for the thumb.
debugTouchArea | bool | Yes | false | Set this to true to visually see the thumb touch rect in green.

---
Expand Down
Binary file modified Screenshots/basic.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Screenshots/[email protected]
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Screenshots/basic_android_xxhdpi.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Screenshots/[email protected]
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
19 changes: 18 additions & 1 deletion src/Slider.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import React, {

import {
Animated,
Image,
StyleSheet,
PanResponder,
View
Expand Down Expand Up @@ -126,6 +127,11 @@ var Slider = React.createClass({
*/
thumbStyle: View.propTypes.style,

/**
* Sets an image for the thumb.
*/
thumbImage: Image.propTypes.source,

/**
* Set this to true to visually see the thumb touch rect in green.
*/
Expand Down Expand Up @@ -192,6 +198,7 @@ var Slider = React.createClass({
minimumTrackTintColor,
maximumTrackTintColor,
thumbTintColor,
thumbImage,
styles,
style,
trackStyle,
Expand Down Expand Up @@ -233,7 +240,9 @@ var Slider = React.createClass({
{backgroundColor: thumbTintColor, marginTop: -(trackSize.height + thumbSize.height) / 2},
mainStyles.thumb, thumbStyle, {left: thumbLeft, ...valueVisibleStyle}
]}
/>
>
{this._renderThumbImage()}
</Animated.View>
<View
style={[defaultStyles.touchArea, touchOverflowStyle]}
{...this._panResponder.panHandlers}>
Expand Down Expand Up @@ -439,6 +448,14 @@ var Slider = React.createClass({
pointerEvents='none'
/>
);
},

_renderThumbImage() {
var {thumbImage} = this.props;

if (!thumbImage) return;

return <Image source={thumbImage} />;
}
});

Expand Down

0 comments on commit b80a78d

Please sign in to comment.