我有一个使用陀螺仪控制填充值的应用程序。但是,除非我触摸或移动设备屏幕,否则它不会更新UI。
private void GyroFunction(SensorEvent event) {
SensorManager
.getRotationMatrixFromVector(mRotationMatrix, event.values);
SensorManager.remapCoordinateSystem(mRotationMatrix,
SensorManager.AXIS_X, SensorManager.AXIS_Z, mRotationMatrix);
SensorManager.getOrientation(mRotationMatrix, orientationVals);
// I must put this line of code to make the UI thread update every time
tempTxtView.setText(String.valueOf(orientationVals[2]));
imgv.setPadding((int) Math.round(orientationVals[0]),
(int) Math.round(orientationVals[1]),
(int) Math.round(orientationVals[0]),
(int) Math.round(orientationVals[1]));
}
但是,当我添加一个临时textView根据陀螺仪事件更新值时,它可以工作。但是我认为这不是解决方案,因为它会阻塞屏幕。还有其他解决方案吗?
最佳答案
设置填充后调用imgv.invalidate()是否有效?
关于android - android UI在陀螺仪事件中 react 怪异,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17397514/