基本信息
源码名称:android画图板,可将内容保存为图片(可用作电子签名)
源码大小:1.19M
文件格式:.zip
开发语言:Java
更新时间:2015-11-30
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍

package com.example.huatuban;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.graphics.Color;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.SubMenu;
import android.view.View;
import android.view.Window;
import android.widget.SeekBar;
import android.widget.SeekBar.OnSeekBarChangeListener;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends Activity {
	
	/**画画的内容区*/
	private HuaBanView hbView;
	/**设置粗细的Dialog*/
	private AlertDialog dialog;
	private View dialogView;
	private TextView shouWidth;
	private SeekBar widthSb;
	private int paintWidth;
		
	private void initView(){
		dialogView = getLayoutInflater().inflate(R.layout.dialog_width_set, null);
		shouWidth = (TextView) dialogView.findViewById(R.id.textView1);
		widthSb = (SeekBar) dialogView.findViewById(R.id.seekBar1);
		widthSb.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
			
			@Override
			public void onStopTrackingTouch(SeekBar seekBar) {
				
			}
			
			@Override
			public void onStartTrackingTouch(SeekBar seekBar) {
				
			}
			
			@Override
			public void onProgressChanged(SeekBar seekBar, int progress,
					boolean fromUser) {
				shouWidth.setText("当前选中宽度:" (progress 1));
				paintWidth = progress 1;
			}
		});
		hbView = (HuaBanView)findViewById(R.id.huaBanView1);
		dialog = new AlertDialog.Builder(this).setIcon(android.R.drawable.ic_dialog_info).setTitle("设置画笔宽度").
				setView(dialogView).setPositiveButton("确定", new OnClickListener() {
					
					@Override
					public void onClick(DialogInterface dialog, int which) {
						hbView.setPaintWidth(paintWidth);
					}
				}).setNegativeButton("取消", null).create();
	}

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		//去掉应用标题栏
		requestWindowFeature(Window.FEATURE_NO_TITLE);
		setContentView(R.layout.activity_main);
		initView();
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		SubMenu colorSm = menu.addSubMenu(1, 1, 1, "选择画笔颜色");
		colorSm.add(2, 200, 200, "红色");
		colorSm.add(2, 210, 210, "绿色");
		colorSm.add(2, 220, 220, "蓝色");
		colorSm.add(2, 230, 230, "紫色");
		colorSm.add(2, 240, 240, "黄色");
		colorSm.add(2, 250, 250, "黑色");
		menu.add(1, 2, 2, "设置画笔粗细");
		SubMenu widthSm = menu.addSubMenu(1, 3, 3, "设置画笔样式");
		widthSm.add(3, 300, 300, "线状画笔");
		widthSm.add(3, 301, 301, "填充画笔");
		menu.add(1, 4, 4, "清空画布");
		menu.add(1, 5, 5, "保存画布");
		menu.add(1, 6, 6, "退出应用");
		return true;
	}
	
	@Override
	public boolean onOptionsItemSelected(MenuItem item) {
		int index = item.getItemId();
		switch(index){
		case 200:
			hbView.setColor(Color.RED);
			break;
		case 210:
			hbView.setColor(Color.GREEN);
			break;
		case 220:
			hbView.setColor(Color.BLUE);
			break;
		case 230:
			hbView.setColor(Color.MAGENTA);
			break;
		case 240:
			hbView.setColor(Color.YELLOW);
			break;
		case 250:
			hbView.setColor(Color.BLACK);
			break;
		case 2:
			dialog.show();
			break;
		case 300:
			hbView.setStyle(HuaBanView.PEN);
			break;
		case 301:
			hbView.setStyle(HuaBanView.PAIL);
			break;
		case 4:
			hbView.clearScreen();
			break;
		case 5:
			if(SaveViewUtil.saveScreen(hbView)){
				Toast.makeText(this, "截图成功", 0).show();
			}else{
				Toast.makeText(this, "截图失败,请检查sdcard是否可用", 0).show();
			}
			break;
		case 6:
			finish();
			break;
		}
		return true;
	}
	

}