ANDROID: Как создать виртуальную область на экране поверх всего, что пользователь может нажимать для выполнения действий? - PullRequest
1 голос
/ 02 сентября 2011

я пытаюсь сделать что-нибудь полезное для приложений, таких как swipepad, taskxp и taskie, где пользователь проводит пальцем
или касается области экрана телефона, такой как края и функции программы, даже если ее активность не отображается.

Я понятия не имею, с чего начать, так как даже не знаю, как это называется

Любая помощь будет высоко ценится!

1 Ответ

2 голосов
/ 02 сентября 2011

Вот ответ на аналогичный вопрос Получить координаты сенсорного экрана в фоновом сервисе :

Нет, извините. Ваша деятельность может передавать информацию о сенсорных событиях услуга, но служба не может напрямую получать сенсорные события

Но вы можете получать сенсорные события только при активном действии.

Вот как вы должны выполнять прослушивание касанием в упражнении:

ImageView playLayout = (ImageView)findViewById(R.id.playLayout);
    playLayout.setKeepScreenOn(true);

    playLayout.setOnTouchListener(new View.OnTouchListener() {

        @Override
        public boolean onTouch(View view, MotionEvent me) {
            float newY = me.getY();
            float newX = me.getX();
            int action = me.getAction();

            if (action==0){
                Log.v(tag, "New Touch");
                Log.i(tag, String.valueOf("Action " + action +
                        " happened at X,Y: " + "("+newX+","+newY + ")"));
            }
            return true;
        }
    });     

Конечно, вы можете добавить к нему больше. Там я просто записываю координаты x и y того места, где произошло касание.

...