Ragazzi sapete per caso come inclinare un immagine ( una linea in questo caso ) in base al movimento del telefono quindi al cambiamento del sensore dell accelerometro????
Grazie
Ragazzi sapete per caso come inclinare un immagine ( una linea in questo caso ) in base al movimento del telefono quindi al cambiamento del sensore dell accelerometro????
Grazie
Andiamo per steps. Sai già come leggere i dati dall'accelerometro ?
Twitter @veke87
Sei un grande... mi rispondi praticamente quasi solo tu....![]()
Allora...
prima di tutto ho fatto questo per creare il SensorManager :
1SensorManager mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
2mSensorManager.registerListener(this, mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER) ,
3SensorManager.SENSOR_DELAY_GAME);
anche se non ho capito molto bene cosa cambia per esempio da SENSOR_DELAY_GAME a SENSOR_DELAY_NORMAL etc etc....... ( credo sia la precisione del delay ) .
poi implemento la classe "SensorEventListener" e faccio l override di onSensorChanged .
Riesco a prendermi tutti i valori che mi arrivano con : event.values[0] ,event.values[1],event.values[2] che dovrebbero essere i 3 assi x , y , z .
Poi ho un immagine , un ImageView che ha come sfondo un drawable....
e in base al movimento del telefono vorrei farla ruotare su se stessa.....
ho provato con "RotateAnimation" ma non capisco perchè non funziona....
Poi ti faccio un altra domanda ().... finalmente ho comprato il mio primo cellulare con Android... HTC Legend ma non riesco a far partire il debug dal cellulare.... i driver del SDK non si installano....
Grazie mille ancora....
Allora ti dico come ho fatto io per Gps Status che ho nel market. Mi sono dovuto costruire una mia View ( Che chiameremo GpsView ) ....
Una volta implementati i metodi necessari ho implementato anche il metodo onDraw che viene chiamato ogni volta che la view viene disegnata. Quindi , dato che onDraw accetta un canvas ( dove va a disegnare ) ruoto il canvas di conseguenza ai dati in ingresso ai sensori :P
Twitter @veke87
Ciao Andrea grazie per la risposta..... mi potresti spiegare un po come funzionano i Canvas o se conosci qualche tutorial??? perchè ho fatto come dici tu che nel metodo onDraw riesco ad inserire la mia immagine .... però ad esempio ora nella view non riesco a mettere un Button.... se conosci qualche esempio che posso scaricare.... Grazie mille
Ciaoo
Purtroppo non conosco esempi che faciano al caso tuo ... Dovrai provare...
Twitter @veke87
Ohhhhhhh.... finalmente sono riuscito a passare i valori al canvas... però con il metodo rotate(degrees, x, y ) non si ruota .... hai qualche suggerimento???
Questo è il mio metodo onDraw :
x1
2public void onDraw(Canvas _canvas) {
3// Calcola il centro del disegno
4int px = getMeasuredWidth() / 2;
5int py = getMeasuredHeight() / 2;
6
7Bitmap _scratch = BitmapFactory.decodeResource(getResources(), R.drawable.icon);
8_canvas.drawColor(Color.BLACK);
9_canvas.drawBitmap(_scratch, _x, _y, null);
10_canvas.rotate(15, orientationValues[SensorManager.DATA_X], orientationValues[SensorManager.DATA_Y]);
11
12}
Devi fare il rotate prima della drawbitmap :P
Twitter @veke87
tommy87 (04-05-10)
Grazie mille finalmente ci sono riuscito.... ora devo solo colmare le mie carenze in Geometria .....![]()