Android自定义View实现屏幕手写签名、银行、保险行业等电子签名

通过自定义view实现屏幕手写签名效果,可以上一步,清空,可以保存签名为图片格式到本地。

效果:

在这里插入图片描述

思路其实很简单,肯定是自定义一个控件,然后在里面动态获取用户的触屏滑动的点的坐标并保存下来,一开始我想到的是保存path,但是又想过用canvas单纯的drawPoint(),或者drawlines()之类的,稍微试了下,不是很好,最终我还是选择了一开始想到的drawPath()的方案。
1.自定义控件customView继承自View,当然,为了使控件更灵活易拓展,将里面用到几个属性也设定为自定义,那么在values文件夹下创建一个attr_customview.xml的文件,在里面定义customView的属性:
<resources>
    <declare-styleable name="customView">
        <!--画布背景色-->
        <attr name="canvasColor" format="color"/>
        <!--画笔颜色-->
        <attr name="paintColor" format="color"/>
        <!--画笔大小-->
        <attr name="paintSrowkeWidth" format="integer"/>
    </declare-styleable>
</resources>
2.在customView的构造方法进行一些初始化,这里除了拿到自定义的属性、以及创建画笔之外,还定义了两个集合,一个用于保存路径 path,一个用于保存路径上的点 point,为什么要用集合呢,因为签名大都不可能一笔完成吧,所以肯定有多条path需要在canvas中呈现。
public customView(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
        //初始化
        init(context,attrs);
    }
/*初始化*/
private void init(Context context,AttributeSet attrs) {
        //获取TypedArray,取出自定义属性
        TypedArray array = context.obtainStyledAttributes(attrs,R.styleable.customView);
        //画布背景色,默认为白色
        canvasColor = array.getColor(R.styleable.customView_canvasColor,Color.WHITE);
        //画笔颜色,默认为黑色
        paintCol
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值