Như chúng ta biết Touch Mode trong android cung cấp cho chúng ta 3 loai. Thứ nhất là tap(Chạm ngón tay vào màn hình), drag(chạm vào màn hình và giữ ngón tay 1 lúc và di chuyển), pintch-zoom(dùng 2 ngón tay zoom đối tượng nào đó).
Ở đây tôi sẽ giới thiệu cho bạn loại thứ 2 là sự kiện drag :
ý tưởng : vẽ 1 line từ vị trí chạm lần đầu đến vị trí cuối khi người sử dụng bỏ tay ra khỏi screen.
Dưới đây là code thực hiện :
package app.test;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.os.Bundle;
import android.view.Display;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.widget.ImageView;
public class Test extends Activity implements OnTouchListener {
ImageView imageView;
Bitmap bitmap;
Canvas canvas;
Paint paint;
float downx = 0, downy = 0, upx = 0, upy = 0;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
imageView = (ImageView) this.findViewById(R.id.ImageView);
Display currentDisplay = getWindowManager().getDefaultDisplay();
float dw = currentDisplay.getWidth();
float dh = currentDisplay.getHeight();
bitmap = Bitmap.createBitmap((int) dw, (int) dh,
Bitmap.Config.ARGB_8888);
canvas = new Canvas(bitmap);
paint = new Paint();
paint.setColor(Color.GREEN);
imageView.setImageBitmap(bitmap);
imageView.setOnTouchListener(this);
}
public boolean onTouch(View v, MotionEvent event) {
int action = event.getAction();
switch (action) {
case MotionEvent.ACTION_DOWN:
downx = event.getX();
downy = event.getY();
break;
case MotionEvent.ACTION_MOVE:
break;
case MotionEvent.ACTION_UP:
upx = event.getX();
upy = event.getY();
canvas.drawLine(downx, downy, upx, upy, paint);
imageView.invalidate();
break;
case MotionEvent.ACTION_CANCEL:
break;
default:
break;
}
return true;
}
}
Chúc các bạn học tốt. Thân mến.
Đăng ký:
Đăng Nhận xét (Atom)
Bản beta đầu tiên
Sau 6 tháng cả team cặm cụi làm việc điên cuồng, bản alpha cũng được giới thiệu ra toàn bộ công ty và được testing nội bộ công ty mà thôi. ...
-
Language : Java. Version 1.0.0 Write by Sungha References code on the internet Source code : http://www.mediafire.com/?ec7632r731me7vv...
-
Code : http://www.mediafire.com/?z24113j1jzn8kaf
-
Sau 6 tháng cả team cặm cụi làm việc điên cuồng, bản alpha cũng được giới thiệu ra toàn bộ công ty và được testing nội bộ công ty mà thôi. ...
Không có nhận xét nào:
Đăng nhận xét