Android - как определить, какой вид имеет фокус, когда пользователь проводит пальцем по экрану - PullRequest
1 голос
/ 31 августа 2010

Я разрабатываю приложение для Android, похожее на пианино. Я не могу воспроизводить звуки, поскольку пользователь перемещает палец по различным клавишам пианино, не поднимая палец. Я смотрел на жесты, но не мог этого сделать. Может кто-нибудь пожалуйста. Помоги мне.

Спасибо

1 Ответ

4 голосов
/ 21 июня 2011
    public boolean onTouch(View v, MotionEvent event) {
        String eventName = "";

        LinearLayout layout = (LinearLayout)v;

        for(int i =0; i< layout.getChildCount(); i++)
        {
            View view = layout.getChildAt(i);


            Rect outRect = new Rect(view.getLeft(), view.getTop(), view.getRight(), view.getBottom());
            //Rect outRect = new Rect();                
            //view.getLocalVisibleRect(outRect);//nao funciona

            if(outRect.contains((int)event.getX(), (int)event.getY()))
            {
                //touching piano key
            }
        }

}

добавьте этот код в метод Layout OnTouchEventListener. Помните: вы должны добавить виды в линейную / относительную / сеточную компоновку и вызвать (Linear / Relative / Grid) .setOnTouchEventListener (OnTouchEventListener).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...