【发布时间】:2016-10-18 15:24:54
【问题描述】:
我正在创建一个应用程序,我想在其中检测屏幕倾斜(当我们将手机向右转动一点时)并希望在这种情况下旋转 imageview(到 90 度)。目前我正在使用此代码,但它只是在 oncreate 中旋转图像视图(当应用程序开始运行时)。我想检测屏幕倾斜并想在这种情况下旋转图像视图。如何实现?任何帮助将不胜感激
Sensor accelator;
SensorManager sm;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
imageView=(ImageView)findViewById(R.id.iv_demo_img);
imageView.setBackgroundResource(R.drawable.demoimg);
relativeLayout=(RelativeLayout)findViewById(R.id.content_main);
//scaleGestureDetector=new ScaleGestureDetector(this,new ScaleListener());
setlisteners();
sm=(SensorManager)getSystemService(SENSOR_SERVICE);
accelator=sm.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
sm.registerListener(this,accelator,SensorManager.AXIS_MINUS_X);
}
@Override
public void onSensorChanged(SensorEvent event) {
Toast.makeText(this, "On Sensor Changed Called", Toast.LENGTH_SHORT).show();
imageView.setRotation(90);
}
@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
}
【问题讨论】: