根据其坐标通过触摸移动或滑动来检测按钮

时间:2018-07-03 10:56:03

标签: android button touch ontouchlistener ondraw

我有一个包含25个按钮的约束布局

我想通过触摸移动选择按钮顺序。 因此,我将按钮位置放置在点数组中。如您所见

onCreate:

        Point[] Btn_cell_position=new Point[25];
        Button[] Btn_cell = new Button[25];
        int[] id = new int[]
        {
        R.id.btn_cell_1 , R.id.btn_cell_2,R.id.btn_cell_3,R.id.btn_cell_4,R.id.btn_cell_5,R.id.btn_cell_6,R.id.btn_cell_7,
        R.id.btn_cell_8,R.id.btn_cell_9,R.id.btn_cell_10,R.id.btn_cell_11,R.id.btn_cell_12,R.id.btn_cell_13,R.id.btn_cell_14,
        R.id.btn_cell_15,R.id.btn_cell_16,R.id.btn_cell_17,R.id.btn_cell_18,R.id.btn_cell_19,R.id.btn_cell_20,R.id.btn_cell_21,
        R.id.btn_cell_22,R.id.btn_cell_23,R.id.btn_cell_24,R.id.btn_cell_25
        };

        for(int i=0;i<25;i++) 
        {
           Btn_cell[i] = findViewById(id[i]);
           Btn_cell_position[i] = getPointOfView(Btn_cell[i]);
        }

getPointOfView函数

        private Point getPointOfView(View view)
        {
           int[] location = new int[2];
           view.getLocationInWindow(location);
           return new Point(location[0], location[1]);
        }


现在,我已经掌握了按钮的位置,
我想通过滑动来识别它们的坐标(在 Btn_cell_position 数组中)。
所以我现在应该怎么办

  

我知道我应该使用touch事件来做到这一点,但是只要按一下按钮,就不可能做到这一点。   请针对我的代码结构提出解决方案

0 个答案:

没有答案