package com.clone;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.PointF;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.view.View;
public class CloneView extends View {
private Document mDocument = null;
public Paint mPaint= null;
public TextBox mTextBox = null;
public TextBox mTextBox2 = null;
private CloneUtil mCloneUtil = null;
public CloneView(Context context) {
super(context);
mDocument = new Document();
mPaint = new Paint();
try {
mCloneUtil = new CloneUtil();
} catch (Exception e) {
e.printStackTrace();
}
initData();
}
public CloneView(Context context, AttributeSet attrs) {
super(context, attrs);
mDocument = new Document();
mPaint = new Paint();
try {
mCloneUtil = new CloneUtil();
} catch (Exception e) {
e.printStackTrace();
}
initData();
}
public CloneView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
mDocument = new Document();
}
public void initData()
{
PointF textpos = new PointF(30,30);
String text = new String("test");
mTextBox = new TextBox(50, 50, 100, 100, textpos, text);
mDocument.add(mTextBox);
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.drawColor(Color.WHITE);
mDocument.draw(canvas, mPaint);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
{
if (mCloneUtil != null) {
mTextBox2 = (TextBox) mCloneUtil.clone(mTextBox); //深克隆
}
if(mTextBox2 != null)
{
mTextBox2.moveBound();
mTextBox2.changeData();
mDocument.add(mTextBox2);
}
}
invalidate();
break;
case MotionEvent.ACTION_MOVE:
break;
case MotionEvent.ACTION_UP:
break;
default:
break;
}
return super.onTouchEvent(event);
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
android 浅复制和深复制-Java Generic Deep Copy 篇
5星 · 超过95%的资源 需积分: 47 38 下载量 35 浏览量
2011-12-26
20:59:50
上传
评论
收藏 41KB GZ 举报
温馨提示
共31个文件
class:11个
java:7个
xml:3个
android 浅复制和深复制-Java Generic Deep Copy 篇
资源推荐
资源详情
资源评论
收起资源包目录
deepclone.tar.gz (31个子文件)
deepclone
bin
classes.dex 21KB
res
drawable
ic_launcher.png 2KB
deepclone.apk 16KB
classes
com
clone
Document.class 1KB
R$layout.class 367B
TextBox.class 2KB
R$drawable.class 380B
CloneView.class 3KB
R$attr.class 313B
CloneUtil.class 1KB
R.class 435B
Object.class 829B
CloneActivity.class 640B
R$string.class 400B
resources.ap_ 4KB
res
drawable
ic_launcher.png 3KB
values
strings.xml 170B
layout
main.xml 387B
assets
gen
com
clone
R.java 615B
proguard.cfg 1KB
.settings
org.eclipse.jdt.core.prefs 617B
src
com
clone
Document.java 474B
CloneUtil.java 519B
CloneView.java 2KB
CloneActivity.java 424B
Object.java 612B
TextBox.java 1KB
.project 812B
.classpath 368B
project.properties 360B
AndroidManifest.xml 705B
共 31 条
- 1
资源评论
- 云淡风轻的猪2013-11-11具有学习意义,但是在项目中一般别copy对象.
- beasonshu2013-09-16不行,没有想像的那么好
雪梦科技
- 粉丝: 232
- 资源: 23
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功