admin管理员组文章数量:1633992
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);
<版权声明:本文标题:android手写汉字,Android 手写输入的实现(保存涂鸦文字) 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dianzi/1729186666a1189108.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论