У меня есть проект MVC, и я хочу разделить его вывод .
Я хочу скопировать все DLL-файлы этого проекта (все содержимое из каталога Bin) в один каталог, а все представления (содержимое каталога View) в другой выходной каталог.
Настройки проекта в VS 2010 не позволяют мне сделать это просто.
Я могу указать только один выходной путь в настройках и могу ' долгое нажатие (коснитесь экрана и удерживайте на нем палец) и движение (перетаскивание по экрану).
Я хотел, чтобы на моем экране было изображение (круга), которое я мог бы перетаскивать. Затем, когда я нажимаю его один раз (короткое / обычное нажатие), появляется тост с некоторой базовой информацией о нем. Когда я долго нажимаю на него, появляется AlertDialog со списком, чтобы выбрать другое изображение (круг, прямоугольник или треугольник).
Я создал собственный View с моим собственным OnTouchListener, чтобы обнаруживать события и рисовать изображение в onDraw. OnTouchListener.onTouch выглядит примерно так:
// has a touch press started?
private boolean touchStarted = false;
// co-ordinates of image
private int x, y;
public boolean onTouch(View v, MotionEvent event) {
int action = event.getAction();
if (action == MotionEvent.ACTION_DOWN) {
touchStarted = true;
}
else if (action == MotionEvent.ACTION_MOVE) {
// movement: cancel the touch press
touchStarted = false;
x = event.getX();
y = event.getY();
invalidate(); // request draw
}
else if (action == MotionEvent.ACTION_UP) {
if (touchStarted) {
// touch press complete, show toast
Toast.makeText(v.getContext(), "Coords: " + x + ", " + y, 1000).show();
}
}
return true;
}
Проблема в том, что нажатие не работает так, как ожидалось, потому что, когда я случайно касаюсь экрана, он также обнаруживает крошечное движение и отменяет сенсорное нажатие и перемещается по изображение вместо этого.
Я "взломал" немного вокруг этого я ввел новую переменную «mTouchDelay», которую я установил в 0 на ACTION_DOWN, увеличил MOVE, и если он> = 3 в MOVE, я выполняю свой код «перемещения». Но у меня такое чувство, что на самом деле это не лучший вариант.
Я также не знаю, как определить долгое нажатие. На самом деле виноват MOVE, который, кажется, всегда срабатывает.
Пример того, что я примерно хочу, см. В приложении для Android DailyStrip: оно показывает изображение комикса. Вы можете перетащить его, если он слишком велик для экрана. Вы можете коснуться его один раз, чтобы отобразились некоторые элементы управления, и нажмите и удерживайте, чтобы открыть меню параметров.
PS. Я пытаюсь заставить его работать на Android 1.5, так как мой телефон работает только на 1.5.