Android的加速度传感器模拟摇一摇的效果-android学习之旅(66)
16lz
2022-06-03
主要介绍一下android的加速传感器的简单用法,模拟摇一摇 ,如果x,y,z三个方向的加速度超过了15,就会弹出Toast,当然你可以设置更复杂的策略,比如判断间隔
代码如下
public class MainActivity extends Activity { private SensorManager sensorManager; private TextView textView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); sensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE); Sensor sensor = sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER); sensorManager.registerListener(sensorEventListener,sensor,SensorManager.SENSOR_DELAY_NORMAL); } private SensorEventListener sensorEventListener = new SensorEventListener() { @Override public void onSensorChanged(SensorEvent sensorEvent) { float xValue = Math.abs(sensorEvent.values[0]); float yValue = Math.abs(sensorEvent.values[1]); float zvalue = Math.abs(sensorEvent.values[2]); if (xValue > 15||yValue > 15||zvalue > 15){ Toast.makeText(MainActivity.this,"摇一摇",Toast.LENGTH_LONG).show(); } } @Override public void onAccuracyChanged(Sensor sensor, int i) { } }; @Override protected void onDestroy() { if (sensorManager != null){ sensorManager.unregisterListener(sensorEventListener); } super.onDestroy(); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.menu_main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); //noinspection SimplifiableIfStatement if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); }}
更多相关文章
- android中LayoutInflater的使用
- Android(安卓)EditView用法小结
- android背景选择器selector用法汇总
- android:launchMode="singleTask" 与 onNewIntent(Intent intent
- android背景选择器selector用法汇总
- Android(安卓)图片选择器用法
- android开发之interpolator的用法详解
- android字体闪烁动画(线程)
- Android(安卓)ValueAnimator和ObjectAnimator的高级用法(代码实现