Agulha de giro velocímetro em torno de seu centro como a velocidade muda
Olá a todos,
Escrevi um aplicativo em que tenho um velocímetro com uma agulha verticalmente ajustada a 90 graus e estou tentando girar a agulha ao redor do centro com a velocidade que muda a cada segundo (estou exibindo a velocidade em uma exibição de texto que muda aleatoriamente de 0 a 120)
Eu estou recebendo a velocidade de um serviço remoto e exibindo em uma visão de texto.
Assim, conforme a velocidade muda, o medidor de agulha do velocímetro deve mudar de acordo com o seu centro. Quero dizer, se a velocidade é de 30 a agulha deve estar em 30 e assim por diante no velocímetro.
Meu código não está funcionando exatamente, como contornar este problema?
A ajuda é sempre apreciada, obrigado.
Aqui está o meu código:
pointer1 = (ImageView) findViewById(R.id.pointer1);
double degrees= speed;
double angle = degrees * 2 * Math.PI / 360.0;
for( speed=0;speed<120;speed++){
RotateAnimation rAnimAntiClockWise = new RotateAnimation(180-0.0f, 180-speed,
Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
rAnimAntiClockWise.setInterpolator(new LinearInterpolator());
rAnimAntiClockWise.setDuration(100);
rAnimAntiClockWise.setFillAfter(true);
rAnimAntiClockWise.setDuration(10000);
rAnimAntiClockWise.setRepeatCount(-1);
rAnimAntiClockWise.setRepeatMode(2);
pointer1.startAnimation(rAnimAntiClockWise);
}
private void invokeService() {
if (conn == null) {
} else {
try {
System.out.println(remoteService);
int speed = remoteService.getSpeed();
System.out.println("myspeed" + speed);
TextView r = (TextView) findViewById(R.id.text2);
r.setText("" + Integer.toString(speed));
Log.d(getClass().getSimpleName(), "invokeService()");
} catch (RemoteException re) {
Log.e(getClass().getSimpleName(), "RemoteException");
}
}
}