Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过头部跟踪移动android鼠标指针_Android_Android Ndk - Fatal编程技术网

通过头部跟踪移动android鼠标指针

通过头部跟踪移动android鼠标指针,android,android-ndk,Android,Android Ndk,我正在开发一个与android界面交互的应用程序 对于那些无法用手在移动设备上进行交互的人 该算法基于头部跟踪,解决了这个问题 所以,我需要知道如何移动android指针,或者如何通过布局设置drawable或任何视图位置,无论是否从其他线程获得位置坐标 意见: 我从ndk(c++到java)获得x和y位置,这是另一个位置 线函数->公共void sendPointerCoords(浮点x,浮点y) 使用可运行的 我不能使用画布或曲面视图,因为我将在 使用头部跟踪手势实现单击 代码: pub

我正在开发一个与android界面交互的应用程序 对于那些无法用手在移动设备上进行交互的人

该算法基于头部跟踪,解决了这个问题

所以,我需要知道如何移动android指针,或者如何通过布局设置drawable或任何视图位置,无论是否从其他线程获得位置坐标

意见:

  • 我从ndk(c++到java)获得x和y位置,这是另一个位置 线函数->公共void sendPointerCoords(浮点x,浮点y) 使用可运行的

  • 我不能使用画布或曲面视图,因为我将在 使用头部跟踪手势实现单击

代码:

public void sendPointerCoords(float x, float y) {
        // TODO Auto-generated method stub
        final float xPos=x;
        final  float yPos=y;

        Log.v(LOG_TAG,"This are the coords ["+x+", "+y+"]");
        runOnUiThread(new Runnable() 
        {
            public void run() 
            {
                //red pointer is an image view and here chrashed when I try to move
                /*red_pointer.setPivotX(xPos);
                red_pointer.setPivotY(yPos);*/

            }
        });![enter image description here][1]
我在谷歌上搜索了一下,但还没有找到一个能解决我需求的解决方案


如果您获得如下图像视图:

ImageView myImageView = (ImageView)findViewById(R.id.myImageViewId);
您可以通过Xml布局属性获得它

如果要更改其属性,需要将变量ImageView\u myImageView存储在活动中并进行修改。比如:

runOnUiThread(new Runnable()
{
   public void run()
   {
      _myImageView.setX(xPos);
      _myImageView.setY(yPos);
   }
});
}

必须更改图像视图位置并停留。如果您再次尝试查找DVIEWBYID,它将重置其值。

为什么要使用setpivotX?setpivotX行因此被注释,我更改了red_pointer.setX()和red_pointer.setY()的行,找到了解决方案,但指针能够在布局中移动,而不是在整个设备屏幕中移动。