Приветствует,
Кто-либо, как я иду об обнаружении, когда пользователь нажимает на битовом массиве, который является в холсте?
Спасибо
Вы должны работать примерно так:
public boolean onTouchEvent(MotionEvent event){
int action = event.getAction();
int x = event.getX() // or getRawX();
int y = event.getY();
switch(action){
case MotionEvent.ACTION_DOWN:
if (x >= xOfYourBitmap && x < (xOfYourBitmap + yourBitmap.getWidth())
&& y >= yOfYourBitmap && y < (yOfYourBitmap + yourBitmap.getHeight())) {
//tada, if this is true, you've started your click inside your bitmap
}
break;
}
}
Это начало, но вам нужно обработать case MotionEvent.ACTION_MOVE
и case MotionEvent.ACTION_UP
, чтобы убедиться, что вы правильно обрабатываете пользовательский ввод. Метод onTouchEvent
вызывается каждый раз, когда пользователь: опускает палец, перемещает палец, уже находящийся на экране, или поднимает палец. Каждый раз событие несет координаты X и Y того места, где находится палец. Например, если вы хотите проверить, что кто-то коснулся внутри вашего растрового изображения, вы должны сделать что-то вроде установки булеана, что касание началось внутри растрового изображения на ACTION_DOWN, а затем проверить на ACTION_UP, что вы все еще внутри растрового изображения.
Steve, У Google есть отличная статья и учебник по обработке событий пользовательского интерфейса @ http://developer.android.com/guide/topics/ui/ui-events.html. Это то, с чего я начал, и это было здорово для меня :-)
.