Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,7 @@ var AwesomeProject = React.createClass({
</Text>
<Picker style={{width: 150, height: 180}}
selectedValue={this.state.selectedItem}
selectedLineColor={"white"}
itemStyle={{color:"white", fontSize:26}}
onValueChange={(index) => this.onPikcerSelect(index)}>
{this.state.itemList.map((value, i) => (
Expand Down
10 changes: 2 additions & 8 deletions WheelCurvedPicker.android.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,28 +12,22 @@ var WheelCurvedPicker = React.createClass ({

propTypes: {
...View.propTypes,

data: React.PropTypes.array,

textColor: ColorPropType,

textSize: React.PropTypes.number,

itemStyle: React.PropTypes.object,

itemSpace: React.PropTypes.number,

onValueChange: React.PropTypes.func,

selectedValue: React.PropTypes.any,

selectedIndex: React.PropTypes.number,
selectedLineColor: ColorPropType,
},

getDefaultProps(): Object {
return {
itemStyle : {color:"white", fontSize:26},
itemSpace: 20,
selectedLineColor: "black",
};
},

Expand Down
13 changes: 10 additions & 3 deletions android/src/main/java/com/zyu/ReactWheelCurvedPicker.java
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ public class ReactWheelCurvedPicker extends WheelCurvedPicker {

private final EventDispatcher mEventDispatcher;
private List<Integer> mValueData;
private int selectedLineColor;

public ReactWheelCurvedPicker(ReactContext reactContext) {
super(reactContext);
Expand Down Expand Up @@ -55,11 +56,12 @@ protected void drawForeground(Canvas canvas) {
super.drawForeground(canvas);

Paint paint = new Paint();
paint.setColor(Color.WHITE);
int colorFrom = 0x00FFFFFF;//Color.BLACK;
int colorTo = Color.WHITE;
paint.setColor(selectedLineColor);
int colorTo = selectedLineColor;
int colorFrom = Color.TRANSPARENT;
LinearGradient linearGradientShader = new LinearGradient(rectCurItem.left, rectCurItem.top, rectCurItem.right/2, rectCurItem.top, colorFrom, colorTo, Shader.TileMode.MIRROR);
paint.setShader(linearGradientShader);

canvas.drawLine(rectCurItem.left, rectCurItem.top, rectCurItem.right, rectCurItem.top, paint);
canvas.drawLine(rectCurItem.left, rectCurItem.bottom, rectCurItem.right, rectCurItem.bottom, paint);
}
Expand All @@ -71,6 +73,11 @@ public void setItemIndex(int index) {
mHandler.post(this);
}

public void setSelectedLineColor(int selectedLineColor) {
this.selectedLineColor = selectedLineColor;
invalidate();
}

public void setValueData(List<Integer> data) {
mValueData = data;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,13 @@ public void setSelectedIndex(ReactWheelCurvedPicker picker, int index) {
}
}

@ReactProp(name="selectedLineColor", customType = "Color")
public void setSelectedLineColor(ReactWheelCurvedPicker picker, Integer color){
if (picker != null) {
picker.setSelectedLineColor(color);
}
}

@ReactProp(name="textColor", customType = "Color")
public void setTextColor(ReactWheelCurvedPicker picker, Integer color) {
if (picker != null) {
Expand Down