我正在使用畫布在 Surface View Camera 上繪制線性布局視圖(插入點)。當視圖太多時(例如:在我的情況下為 40),我遇到了一個問題,一些視圖在移動相機時消失了。我在這里找不到問題。setX 和 setY 方法有什么問題嗎?你可以在下面看到我的代碼,請回復它。@Overrideprotected void onDraw(Canvas canvas) { super.onDraw(canvas); if (currentLocation == null) { return; } for (int i = 0; i < places.size(); i++) { float[] currentLocationInECEF = LocationHelper.WSG84toECEF(currentLocation); float[] pointInECEF = LocationHelper.WSG84toECEF(poiLoc.get(i)); float[] pointInENU = LocationHelper.ECEFtoENU(currentLocation, currentLocationInECEF, pointInECEF); Matrix.multiplyMV(cameraCoordinateVector, 0, rotatedProjectionMatrix, 0, pointInENU, 0); if (cameraCoordinateVector[2] < 0 && insertPoint!=null && insertPoint.getChildAt(i)!=null) { float x = (0.5f + cameraCoordinateVector[0] / cameraCoordinateVector[3]) * canvas.getWidth(); float y = (0.5f - cameraCoordinateVector[1] / cameraCoordinateVector[3]) * canvas.getHeight(); insertPoint.getChildAt(i).setX(x - (insertPoint.getChildAt(i).getWidth()/2)); insertPoint.getChildAt(i).setY(y); insertPoint.getChildAt(i).setVisibility(VISIBLE); } }}預期結果:所有視圖都應出現在相機視圖中。實際結果:一些視圖在移動 Camera 和 onDrawCanvas 回調時消失。我正在使用這個庫https://github.com/dat-ng/ar-location-based-android
添加回答
舉報
0/150
提交
取消