protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_fullscreen);
bundle = savedInstanceState;
mVisible = true;
mImageView = (ImageView) findViewById(R.id.imageView);
mControlsView = findViewById(R.id.fullscreen_content_controls);
mControlsView1 = findViewById(R.id.fullscreen_content_controls1);
mContentView = findViewById(R.id.fullscreen_content1);
btnTakePhoto = (Button) findViewById(R.id.makePhotoBtn);
textView = (TextView) mContentView;
TListener tListener = new TListener();
mImageView.setOnTouchListener(tListener);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
display = getWindowManager().getDefaultDisplay();
// Set up the user interaction to manually show or hide the system UI.
mContentView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
toggle();
}
});
// Upon interacting with UI controls, delay any scheduled hide()
// operations to prevent the jarring behavior of controls going away
// while interacting with the UI.
findViewById(R.id.makePhotoBtn).setOnTouchListener(mDelayHideTouchListener);
Button button = (Button)findViewById(R.id.albumBtn);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent photoPickerIntent = new Intent(Intent.ACTION_PICK);
photoPickerIntent.setType("image/*");
startActivityForResult(photoPickerIntent, GALLERY_REQUEST);
}
});
}
class TListener extends Activity implements View.OnTouchListener
{
@Override
public boolean onTouch(View v, MotionEvent event) {
x = event.getX();
y = event.getY();
DrawView drawView = new DrawView(mImageView.getContext());
Path path = new Path();
bitmap1 = ((BitmapDrawable)mImageView.getDrawable()).getBitmap();
bitmap = bitmap1;
Canvas canvas ;
Paint paint = new Paint();
paint.setColor(Color.GREEN);
// толщина линии = 15
paint.setStrokeWidth(15);
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN: // нажатие
sDown = "Down: " + x + "," + y;
sMove = "";
sUp = "";
twoTouches++;
if(twoTouches == 1)
{
time2 = new Date().getTime();
}
else if(twoTouches == 2)
{
if((new Date().getTime() - time2) < 3000)
{
twoTouches =0;
toggle();
}
}
else {
x1 = x;
y1 = y;
break;
}
case MotionEvent.ACTION_MOVE: // движение
sMove = "Move: " + x + "," + y;
bitmap = bitmap1;
canvas = new Canvas(bitmap);
drawView.draw(canvas);
mImageView.invalidate();
mImageView.setImageBitmap(bitmap);
break;
case MotionEvent.ACTION_UP:
sMove = "";
sUp = "Up: " + x + "," + y;
bitmap = bitmap1;
canvas = new Canvas(bitmap);
drawView.draw(canvas);
mImageView.invalidate();
mImageView.setImageBitmap(bitmap);
break;// отпускание
case MotionEvent.ACTION_CANCEL:
sMove = "";
sUp = "Up: " + x + "," + y;
bitmap = bitmap1;
canvas = new Canvas(bitmap);
drawView.draw(canvas);
mImageView.invalidate();
canvas.drawPoint(x, y, paint);
mImageView.invalidate();
break;
}
x1 = x;
y1 = y;
return true;
}
}
class DrawView extends View {
Paint p;
RectF rectf;
Path path;
Path path1;
float diff;
public DrawView(Context context) {
super(context);
p = new Paint();
p.setStrokeWidth(10);
p.setStyle(Paint.Style.STROKE);
path = new Path();
path1 = new Path();
diff = mImageView.getWidth()/display.getWidth();
}
@Override
protected void onDraw(Canvas canvas) {
// очистка path
path.lineTo(x*diff,0);
path.lineTo(x*diff,mImageView.getMaxHeight());
/*
// угол
path.moveTo(100, 100);
path.lineTo(150, 200);
path.lineTo(50, 200);
// треугольник
path.moveTo(250, 100);
path.lineTo(300, 200);
path.lineTo(200, 200);
path.close();
// квадрат и круг
path.addRect(rectf, Path.Direction.CW);
path.addCircle(450, 150, 25, Path.Direction.CW);
// рисование path
p.setColor(Color.BLACK);
canvas.drawPath(path, p);
// очистка path1
path1.reset();
// две пересекающиеся линии
path1.moveTo(50,50);
path1.lineTo(500,250);
path1.moveTo(500,50);
path1.lineTo(50,250);
// рисование path1
p.setColor(Color.GREEN);
canvas.drawPath(path1, p);
// добавление path1 к path
path.addPath(path1);
// смещение
path.offset(500,100);
*/
// рисование path
p.setColor(Color.BLUE);
canvas.drawPath(path, p);
}
}
Рисует на ImageView только в левой части, а нужно что бы на всём ImageView, для считывания координат использую onTouch() для рисования onDraw(); Помогите пожалуйста)
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости