android手写汉字,Android 手写输入的实现(保存涂鸦文字)

本文介绍了如何在Android上创建个性化的手写签名功能,包括使用画板进行签名、保存为图片并缩放显示。通过一个包含Listener、Dialog和Activity的简单实例,展示了手写板对话框的实现过程,以及如何将手写内容保存为图片并应用到指定位置。
摘要由CSDN通过智能技术生成

Android 提供了很多丰富、实用而且很有特色的功能。比如,语音识别、手写签名等等。本篇就为你介绍如何在android上进行个性化的手写签名。

首先大致说说需求:这是一个追求时尚、张扬个性的时代,我们希望在签名的地方,签名的是自己手写出来的很有个性的艺术字,而非根据手势识别出来的标准字体。

设计思路如下,在画板上进行签名(其实就是绘制图片),完成后保存为图片。然后将图片按照一定的比率进行缩放并显示在指定的位置。

这里给出一个实例,实例只是一个简单的例子,如有需要可以进行必要的扩展。这里我们需要一个Listener、一个Dialog、一个Activity这个三个java类。两个layout XML文件。

Listener很简单,主要是对手写板对话框的一个监听。public interface DialogListener {

public void refreshActivity(Object object);

}

接着是画板的Dialogpackage cn.handwriting;

import android.app.Dialog;

import android.content.Context;

import android.graphics.Bitmap;

import android.graphics.Bitmap.Config;

import android.graphics.Canvas;

import android.graphics.Color;

import android.graphics.Paint;

import android.graphics.Path;

import android.os.Bundle;

import android.view.MotionEvent;

import android.view.View;

import android.view.Window;

import android.view.WindowManager.LayoutParams;

import android.widget.Button;

import android.widget.FrameLayout;

public class WritePadDialog extends Dialog {

Context context;

LayoutParams p ;

DialogListener dialogListener;

public WritePadDialog(Context context,DialogListener dialogListener) {

super(context);

this.context = context;

this.dialogListener = dialogListener;

}

static final int BACKGROUND_COLOR = Color.WHITE;

static final int BRUSH_COLOR = Color.BLACK;

PaintView mView;

/** The index of the current color to use. */

int mColorIndex;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

requestWindowFeature(Window.FEATURE_NO_TITLE);

requestWindowFeature(Window.FEATURE_PROGRESS);

setContentView(R.layout.write_pad);

p = getWindow().getAttributes(); //获取对话框当前的参数值

p.height = 320;//(int) (d.getHeight() * 0.4); //高度设置为屏幕的0.4

p.width = 480;//(int) (d.getWidth() * 0.6); //宽度设置为屏幕的0.6

getWindow().setAttributes(p); //设置生效

mView = new PaintView(context);

FrameLayout frameLayout = (FrameLayout) findViewById(R.id.tablet_view);

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值