Я пытаюсь создать приложение для редактирования фотографий, в которое можно добавлять изображения и перетаскивать их.У меня есть базовые знания о потоке, просто я не знаю, как его реализовать или если он прав.
public class QuotesCanvas extends FrameLayout {
private ArrayList<Integer> drawables;
public QuotesCanvas(Context context, AttributeSet attrs) {
super(context, attrs);
drawables = new ArrayList<>();
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
for(int drawable : drawables) {
Bitmap bitmap = BitmapFactory.decodeResource(getContext().getResources(), drawable);
canvas.drawBitmap(bitmap, drawable.x, drawable.y, null); //HELP WITH THIS!
}
}
public void addBitmap(int drawable) {
drawables.add(drawable);
invalidate();
}
@Override
public boolean onDragEvent(DragEvent event) {
return super.onDragEvent(event);
if (event == DragEvent.ACTION_DRAG_ENTERED) {
//STORE DRAWABLE X,Y VALUES
} else if (event == DragEvent.ACTION_DRAG_STARTED) {
//MOVE DRAWABLE ALONG X,Y VALUES THEN SAVE THEIR VALUES TO DRAWABLES ARRAY LIST
invalidate();
}
Очевидно, что код здесь не верен.Моя идея в том, что я буду следить за всеми объектами рисования, которые были добавлены в ArrayList, а затем каждый раз, когда я перетаскиваю объект рисования, я также буду хранить значения x, y этого объекта рисования?Пожалуйста, помогите направить меня в правильном направлении.
Я просто хочу, чтобы пользователь нажимал на элемент, который нужно добавить, и он добавлялся в центр экрана, а также он мог перетаскивать его и добавлять другие элементы.