Android Signature Pad is an Android library for drawing smooth signatures. It uses variable width Bézier curve interpolation based on Smoother Signatures post by Square.
- Bézier implementation for a smoother line
- Variable point size based on velocity
- Customizable pen color and size
- Bitmap, SVG and Raw-data support
Latest version of the library can be found on Maven Central.
Open your build.gradle
and make sure that Maven Central repository is declared into repositories
section:
repositories {
mavenCentral()
}
Then, include the library as dependency:
implementation 'se.warting.signature:signature-pad:<latest_version>' // jetpack Compose views
or
implementation 'se.warting.signature:signature-view:<latest_version>' // legacy android views
Please see the /app
example app for a more detailed code example of how to use the
library.
- Add the
SignaturePad
view to the layout you want to show.
var signaturePadAdapter: SignaturePadAdapter? = null
SignaturePadView(onReady = {
signaturePadAdapter = it
})
Button(onClick = {
Log.d("", signaturePadAdapter?.getSignatureSvg() ?: "null")
}) {
Text("Save")
}
- Configure attributes.
penMinWidth
- The minimum width of the stroke (default: 3dp).penMaxWidth
- The maximum width of the stroke (default: 7dp).penColor
- The color of the stroke (default: Color.BLACK).velocityFilterWeight
- Weight used to modify new velocity based on the previous velocity ( default: 0.9).clearOnDoubleClick
- Double click to clear pad (default: false)
- Get signature data
getSignatureBitmap()
- A signature bitmap with a white background.getTransparentSignatureBitmap()
- A signature bitmap with a transparent background.getSignatureSvg()
- A signature Scalable Vector Graphics document.