Nice meeting you, I am Vivek Singh!
- Android Developer
- Mostly working on Android 📱 , Kotlin 💥 and Backend.
- Open source ⭕ contributor.
- Tech writer on medium.com
A highly customizable seekbar/slider library for android with support for readahead indicator, segments and more. Made with Jetpack Compose ❤.
License: Apache License 2.0
In default compose slider , we can change thumb composable to any composable depending on the usecase , but I think we don't have the option here . Is there any plan to add that in future ?
Please change this android-only project to Kotlin Multiplatform with the according https://github.com/JetBrains/compose-multiplatform implementation.
This way it would be possible to use it for Android, Desktop, Browser and iOS
Support Vertical SeekBar - It will really helpful, for multiple cases
As the title says, I noticed that the onValueChangeFinished
callback is invoked before onValueChange
when only tapping the seeker instead of pressing and dragging on it. This seems to be a race condition caused by dispatching the dragState change from a CoroutineScope, whereas the onValueChangeFinished
callback is invoked immediately from onTap
.
It appears to be easily fixable by moving the onValueChangeFinished
inside the launch
block as well. I'll open a PR with this fix later.
I'm planning to use this in one of my apps but couldn't since we still support Android 5 (minSdk 21). I wondered whether it would be technically feasible to lower the minSdk to that version. Thanks!
Hello, when I set thumb radius to 0.dp there is still un-needed padding i suggest making
BoxWithConstraints( modifier = modifier .requiredSizeIn( minHeight = max( dimensions.thumbRadius* 2, trackHeight), minWidth = SeekerDefaults.ThumbRippleRadius * 2 ) .progressSemantics(value, range, onValueChange, onValueChangeFinished, enabled) .focusable(enabled, interactionSource) )
to give the flexibility of removing the min height constraint.
Thanks
The progress indicator doesn't appear as expected if the track/segment color has an alpha property. This is more likely happening because progress indicator overlapes the track/segment using a BlendMode.SrcIn
which uses the destination opacity in the output layer.
This happens only when the colors used for Seeker track and progress has some transparency.
In the above image the MaterialTheme.colors.primary.copy(alpha = 0.24f)
is used for the track.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.