本文实例讲述了android编程实现的手写板和涂鸦功能。分享给大家供大家参考,具体如下:
下面仿一个android手写板和涂鸦的功能,直接上代码:
write_pad.xml
[Java] 查看源文件 复制代码
<linearlayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:greendroid="http://schemas.android.com/apk/res/com.cyrilmottier.android.gdcatalog"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<framelayout
android:id="@+id/tablet_view"
android:layout_width="fill_parent"
android:layout_height="300dp" >
</framelayout>
<linearlayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@android:drawable/bottom_bar"
android:paddingtop="4dp" >
<button
android:id="@+id/write_pad_ok"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="确定" />
<button
android:id="@+id/write_pad_clear"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="清除" />
<button
android:id="@+id/write_pad_cancel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="取消" />
</linearlayout>
</linearlayout>
这个是手写板的主要布局文件,能够手写的部分是一个framelayout。下面有确定、清除和取消按钮,用来保存和擦除签名。
主要代码逻辑如下:
mainactivity.java
[Java] 查看源文件 复制代码
package com.jackie.handwriting;
import java.io.bytearrayoutputstream;
import java.io.file;
import java.io.fileoutputstream;
import java.io.ioexception;
import android.app.activity;
import android.graphics.bitmap;
import android.os.bundle;
import android.os.environment;
import android.view.view;
import android.view.view.onclicklistener;
import android.widget.imageview;
import android.widget.textview;
public class mainactivity extends activity {
private imageview mivsign;
private textview mtvsign;
private bitmap msignbitmap;
/** called when the activity is first created. */
@override
public void oncreate(bundle savedinstancestate) {
super.oncreate(savedinstancestate);
setcontentview(r.layout.activity_main);
mivsign = (imageview) findview