diff --git a/README.md b/README.md index c2d7af6..9996582 100644 --- a/README.md +++ b/README.md @@ -94,6 +94,7 @@ var AwesomeProject = React.createClass({ this.onPikcerSelect(index)}> {this.state.itemList.map((value, i) => ( diff --git a/WheelCurvedPicker.android.js b/WheelCurvedPicker.android.js index 2cfe37c..27f92da 100644 --- a/WheelCurvedPicker.android.js +++ b/WheelCurvedPicker.android.js @@ -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", }; }, diff --git a/android/src/main/java/com/zyu/ReactWheelCurvedPicker.java b/android/src/main/java/com/zyu/ReactWheelCurvedPicker.java index 126e866..4502b9a 100644 --- a/android/src/main/java/com/zyu/ReactWheelCurvedPicker.java +++ b/android/src/main/java/com/zyu/ReactWheelCurvedPicker.java @@ -27,6 +27,7 @@ public class ReactWheelCurvedPicker extends WheelCurvedPicker { private final EventDispatcher mEventDispatcher; private List mValueData; + private int selectedLineColor; public ReactWheelCurvedPicker(ReactContext reactContext) { super(reactContext); @@ -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); } @@ -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 data) { mValueData = data; } diff --git a/android/src/main/java/com/zyu/ReactWheelCurvedPickerManager.java b/android/src/main/java/com/zyu/ReactWheelCurvedPickerManager.java index 87fe8bc..da0ff1f 100644 --- a/android/src/main/java/com/zyu/ReactWheelCurvedPickerManager.java +++ b/android/src/main/java/com/zyu/ReactWheelCurvedPickerManager.java @@ -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) {