Skip to content

oOJohn6Oo/JWheelPicker

Repository files navigation

JSinglePickerDialogFragment JMultiplePickerDialogFragment

Implementation

  • add repo maven { url 'https://jitpack.io' }
  • latest version LatestVersion
  • add implementation("com.github.oOJohn6Oo:JWheelPicker:<version>")

Usage

For Any Compose View Use

JWheelPicker(
modifier = modifier,
onSelectedItemChanged = onSelectedItemChanged,
textStyle = TextStyle(color = MaterialTheme.colors.onBackground, fontSize = 20.sp),
drawOverLay = rememberDefaultOverlayStyle(requiredData.overlayStyle),
initialIndex = requiredData.getSafeInitialIndex(),
itemCount = requiredData.dataList.size,
itemData = { index ->
requiredData.dataList[index]
},
)

JMultiWheelPicker(
modifier = modifier.disableAllVerticalScroll(disableTouch),
wheelCount = adapter.wheelCount,
generateJWheelPickerInfo = generateJWheelPickerInfo,
drawOverLay = rememberDefaultOverlayStyle(requiredData.overlayStyle),
key = key,
onSelectedItemChanged = onSelectedItemChanged
)

JDateWheelPicker(
modifier = modifier,
datePickerMode = requiredData.datePickerMode,
timePickerMode = requiredData.timePickerMode,
containerHorizontalPadding = requiredData.containerHorizontalPaddingInDp.dp,
startLocalDateTime = requiredData.startLocalDateTime,
endLocalDateTime = requiredData.endLocalDateTime,
initialSelectDateTime = requiredData.initialSelectDateTime,
drawOverLay = rememberDefaultOverlayStyle(requiredData.overlayStyle),
onSelectedTimeChanged = onSelectedTimeChanged,
)

For Default BottomSheet Dialog Use

private fun showSinglePicker() {
JSinglePickerDialogFragment.show(
supportFragmentManager,
requiredData = JSinglePickerDialogData(
title = 0 to "SinglePicker",
initialIndex = 2,
dataList = ArrayList((0..3).map {
JWheelPickerItemInfo(
it.toString(),
it,
"item$it"
)
}),
overlayStyle = JWheelPickerHelper.overlayStyleOvalRectangle
),
)
}

private fun showMultiplePicker() {
JMultiplePickerDialogFragment.show(
supportFragmentManager,
requiredData = JMultiPickerDialogData(
title = 0 to "MultiplePicker",
overlayStyle = JWheelPickerHelper.overlayStyleOvalRectangle,
adapterClass = TestMultipleJPickerAdapter::class.java
),
)
}

private fun showDatePicker() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
JDateWheelPickerDialogFragment.show(
supportFragmentManager,
requiredData = JDatePickerDialogData(
title = 0 to "DatePicker",
overlayStyle = JWheelPickerHelper.overlayStyleOvalRectangle,
containerHorizontalPaddingInDp = 16
),
)
} else {