Обнаружьте касание к битовому массиву

Приветствует,

Кто-либо, как я иду об обнаружении, когда пользователь нажимает на битовом массиве, который является в холсте?

Спасибо

10
задан Steve 15 March 2010 в 13:48
поделиться

2 ответа

Вы должны работать примерно так:

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, что вы все еще внутри растрового изображения.

29
ответ дан 3 December 2019 в 14:43
поделиться

Steve, У Google есть отличная статья и учебник по обработке событий пользовательского интерфейса @ http://developer.android.com/guide/topics/ui/ui-events.html. Это то, с чего я начал, и это было здорово для меня :-)

.
3
ответ дан 3 December 2019 в 14:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: