Skip to content

Commit 81cee58

Browse files
authored
Merge pull request #196 from claixiang/master
#2 #67 第二次作业
2 parents e749556 + f2d1391 commit 81cee58

File tree

2 files changed

+72
-6
lines changed

2 files changed

+72
-6
lines changed
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,71 @@
1-
package edu.hzuapps.androidlabs.homeworks.net1414080903108;
1+
package edu.hzuapps.androidlabs.homeworks.net1414080903108;
22

3+
import android.graphics.Bitmap;
4+
import android.graphics.Canvas;
5+
import android.graphics.Color;
6+
import android.graphics.Matrix;
7+
import android.graphics.Paint;
38
import android.support.v7.app.AppCompatActivity;
49
import android.os.Bundle;
10+
import android.view.MotionEvent;
11+
import android.view.View;
12+
import android.widget.ImageView;
13+
14+
import com.example.myapplication.R;
515

616
public class Net1414080903108Activity extends AppCompatActivity {
17+
private ImageView iv;
18+
private Bitmap baseBitmap;
19+
private Canvas canvas;
20+
private Paint paint;
721

822
@Override
923
protected void onCreate(Bundle savedInstanceState) {
1024
super.onCreate(savedInstanceState);
1125
setContentView(R.layout.activity_net1414080903108);
26+
this.iv = (ImageView) this.findViewById(R.id.iv);
27+
// 创建一张空白图片
28+
baseBitmap = Bitmap.createBitmap(480, 640, Bitmap.Config.ARGB_8888);
29+
// 创建一张画布
30+
canvas = new Canvas(baseBitmap);
31+
// 画布背景为白色
32+
canvas.drawColor(Color.WHITE );
33+
// 创建画笔
34+
paint = new Paint();
35+
// 画笔颜色为黑色
36+
paint.setColor(Color.BLACK );
37+
// 宽度5个像素
38+
paint.setStrokeWidth(8);
39+
// 先将白色背景画上
40+
canvas.drawBitmap(baseBitmap, new Matrix(), paint);
41+
iv.setImageBitmap(baseBitmap);
42+
43+
iv.setOnTouchListener(new View.OnTouchListener() {
44+
int startX;
45+
int startY;
46+
47+
@Override
48+
public boolean onTouch(View v, MotionEvent event) {
49+
switch (event.getAction()) {
50+
case MotionEvent.ACTION_DOWN:
51+
// 获取手按下时的坐标
52+
startX = (int) event.getX();
53+
startY = (int) event.getY();
54+
break;
55+
case MotionEvent.ACTION_MOVE:
56+
// 获取手移动后的坐标
57+
int stopX = (int) event.getX();
58+
int stopY = (int) event.getY();
59+
// 在开始和结束坐标间画一条线
60+
canvas.drawLine(startX, startY, stopX, stopY, paint);
61+
// 实时更新开始坐标
62+
startX = (int) event.getX();
63+
startY = (int) event.getY();
64+
iv.setImageBitmap(baseBitmap);
65+
break;
66+
}
67+
return true;
68+
}
69+
});
1270
}
1371
}

AndroidLabs/app/src/main/res/layout/activity_net1414080903108.xml

+13-5
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,18 @@
88
android:paddingLeft="@dimen/activity_horizontal_margin"
99
android:paddingRight="@dimen/activity_horizontal_margin"
1010
android:paddingTop="@dimen/activity_vertical_margin"
11-
tools:context="com.example.myapplication.Net1414080903108Activity">
11+
tools:context="edu.hzuapps.androidlabs.homeworks.net1414080903108.Net1414080903108Activity">
1212

13-
<TextView
14-
android:layout_width="wrap_content"
15-
android:layout_height="wrap_content"
16-
android:text="Hello World!" />
13+
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
14+
xmlns:tools="http://schemas.android.com/tools"
15+
android:layout_width="match_parent"
16+
android:layout_height="match_parent"
17+
tools:context=".MainActivity" >
18+
19+
<ImageView
20+
android:id="@+id/iv"
21+
android:layout_width="match_parent"
22+
android:layout_height="match_parent"
23+
/>
24+
</RelativeLayout>
1725
</RelativeLayout>

0 commit comments

Comments
 (0)