Я начинаю программировать в андроиде. Я хочу написать программу, которая должна изменить положение круга с помощью датчика акселерометра. мой код находится внизу, положение круга было изменено, но круг не переместился вправо или вниз по экрану, кружок немного сдвинулся :(даже если я переместил слишком много мобильного телефона. Мой вопрос: как я могу двигаться шар (круг) ниже или справа от экрана с акселерометром?Как я могу перемещать круг с помощью датчика акселерометра?
public class MainActivity extends Activity implements SensorEventListener{
ShapeDrawable shapeDrawable=new ShapeDrawable();
public static int x;
public static int y;
public static Object bimtap;
Bitmap bitmap;
private SensorManager sm;
CustomDrawableView cDraw;
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
sm=(SensorManager)getSystemService(SENSOR_SERVICE);
cDraw=new CustomDrawableView(this);
setContentView(cDraw);
}
public void onAccuracyChanged(Sensor sensor, int accuracy) {
// TODO Auto-generated method stub
}
public void onSensorChanged(SensorEvent event) {
// TODO Auto-generated method stub
if(event.sensor.getType()==Sensor.TYPE_ACCELEROMETER){
//
x=(int)Math.pow(event.values[0], 2);
y=(int)Math.pow(event.values[1], 2);
}
}
@Override
public void onResume(){
super.onResume();
sm.registerListener(this, sm.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), SensorManager.SENSOR_DELAY_NORMAL);
}
@Override
public void onStop(){
sm.unregisterListener(this);
super.onStop();
}
public class CustomDrawableView extends View{
int width=150;
int height=150;
public CustomDrawableView(Context context) {
super(context);
// TODO Auto-generated constructor stub
shapeDrawable=new ShapeDrawable();
}
public void onDraw(Canvas canvas){
Paint paint=new Paint();
paint.setColor(Color.BLUE);
canvas.drawCircle(MainActivity.x+50, MainActivity.y+50, 25, paint);
invalidate();
}
}
}
Спасибо за помощь :) отношении
Спасибо , но я хочу, кружок перемещался во всем экране со значением акселерометра, а не с моим щелчком на экране. – Sensors
Даже не близко, чтобы ответить на вопрос. – async
@ user16547 то как он принимает ответ? Вы знаете? то ответьте на него, не ставьте downvotes. Я упомянул в своей первой строке ответа. – Aravin