Я новичок в Android, и я хочу сделать простую программу, которая определяет координаты касания и рисует круг и путь касания, я делаю простую программу, которая рисует круг вокруг касания и следует за ним, но я все еще могу сделать путь осязания. Когда я запускаю программу с путем, она вылетает, когда я удаляю путь, она работает нормально...
public class MainActivity extends Activity {
float x = 0;
float y = 0;
LinearLayout layout; //declarea variabilor pentru desenarea cercului
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); //specificarea
layout = (LinearLayout)findViewById(R.id.layout); //gasirea id
layout.addView(new CustomView(MainActivity.this));
}
public class CustomView extends View { //crearea unei mape pentru canvas
Bitmap mBitmap;
Paint paint;
Path path;
public CustomView(Context context) {
super(context);
mBitmap = Bitmap.createBitmap(640, 1024, Bitmap.Config.ARGB_8888);
paint = new Paint();
path = new Path();
paint.setColor(Color.BLUE);//culoare cercului desenat
paint.setStyle(Style.FILL);
}
protected void onDraw(Canvas canvas) {//desenarea cercului la atingere
super.onDraw(canvas);
canvas.drawPath(path,paint);
canvas.drawCircle(x, y, 25, paint);
}
public boolean onTouchEvent(MotionEvent event) {
int action = event.getAction();
switch (action){
case MotionEvent.ACTION_DOWN:
path.moveTo(event.getX(), event.getY());
path.lineTo(event.getX(), event.getY());
break;
case MotionEvent.ACTION_MOVE:
x = event.getX();
y = event.getY();
path.lineTo(x, y);
invalidate();
break;
case MotionEvent.ACTION_UP:
path.lineTo(event.getX(), event.getY());
break;
case MotionEvent.ACTION_CANCEL:
break;
default:
break;
}
return true;
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
x
иy
? Что происходит с вашим кодом и что должно произойти? - person Ted Hopp   schedule 26.02.2013x
иy
, а не для чего они используются. Вам нужно предоставить немного больше деталей о проблеме, с которой вы столкнулись. Вы не объяснили, что на самом деле происходит, когда вы запускаете свой код. Круг вообще рисуется? Двигается ли он при касании? Как бы то ни было, ваш пост не намного лучше, чем Вот мой код. Это не работает. Как я могу это исправить? - person Ted Hopp   schedule 26.02.2013x
иy
, проблема в том, что это не сработало, когда я пытаюсь нарисоватьPath
, если я удалю его из кода, он сработает, он обнаружит мое касание и будет следовать за ним при движении на экране. - person user2112285   schedule 26.02.2013path
, что происходит? Программа вылетает? Ничего не нарисовано (даже круг)? Или дело в том, что путь не отображается, а все остальное работает так же? - person Ted Hopp   schedule 26.02.2013