Browse Source

center 24h time mode wheels (#237)

master
Henning Hall 5 years ago
committed by GitHub
parent
commit
21c054a8e0
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 16 additions and 9 deletions
  1. +4
    -0
      android/src/main/java/com/henninghall/date_picker/DerivedData.java
  2. +1
    -1
      android/src/main/java/com/henninghall/date_picker/wheels/MinutesWheel.java
  3. +1
    -0
      android/src/main/java/com/henninghall/date_picker/wheels/Wheel.java
  4. +10
    -8
      src/DatePickerAndroid.js

+ 4
- 0
android/src/main/java/com/henninghall/date_picker/DerivedData.java View File

@ -121,4 +121,8 @@ public class DerivedData {
return Utils.deviceUsesAmPm();
}
public boolean hasOnly2Wheels(){
return state.getMode() == Mode.time && !usesAmPm();
}
}

+ 1
- 1
android/src/main/java/com/henninghall/date_picker/wheels/MinutesWheel.java View File

@ -47,7 +47,7 @@ public class MinutesWheel extends Wheel {
@Override
public Paint.Align getTextAlign() {
return Paint.Align.RIGHT;
return state.derived.hasOnly2Wheels() ? Paint.Align.LEFT : Paint.Align.RIGHT;
}
}

+ 1
- 0
android/src/main/java/com/henninghall/date_picker/wheels/Wheel.java View File

@ -122,6 +122,7 @@ public abstract class Wheel {
public int getHorizontalPadding() {
Mode mode = state.getMode();
if(state.derived.hasOnly2Wheels()) return 10;
switch (mode){
case date: return 15;
case time:

+ 10
- 8
src/DatePickerAndroid.js View File

@ -8,6 +8,10 @@ const NativeDatePicker = requireNativeComponent(
{ nativeOnly: { onChange: true } }
)
const height = 180
const timeModeWidth = 240
const defaultWidth = 310
class DatePickerAndroid extends React.PureComponent {
render() {
return (
@ -17,12 +21,17 @@ class DatePickerAndroid extends React.PureComponent {
minimumDate={this._minimumDate()}
maximumDate={this._maximumDate()}
onChange={this._onChange}
style={[styles.picker, this.props.style]}
style={this.getStyle()}
utc={this.props.timeZoneOffsetInMinutes !== undefined}
/>
)
}
getStyle = () => {
const width = this.props.mode === 'time' ? timeModeWidth : defaultWidth
return [{ width, height }, this.props.style]
}
_onChange = e => {
const jsDate = this._fromIsoWithTimeZoneOffset(e.nativeEvent.date).toDate()
this.props.onDateChange && this.props.onDateChange(jsDate)
@ -60,11 +69,4 @@ class DatePickerAndroid extends React.PureComponent {
}
}
const styles = StyleSheet.create({
picker: {
width: 310,
height: 180,
},
})
export default DatePickerAndroid

Loading…
Cancel
Save