当用户顺时针/逆时针旋转他的 Android 手机时,我想将屏幕方向从纵向更改为横向,反之亦然。谁能帮助我如何实现这一目标?我不知道当用户旋转他的 Android 手机时会触发什么事件。
例如,当用户在 UI 中触摸按钮时,会触发触摸事件。那么,当用户摇晃他的安卓手机时,触发的事件是什么呢?请帮助我。
当用户顺时针/逆时针旋转他的 Android 手机时,我想将屏幕方向从纵向更改为横向,反之亦然。谁能帮助我如何实现这一目标?我不知道当用户旋转他的 Android 手机时会触发什么事件。
例如,当用户在 UI 中触摸按钮时,会触发触摸事件。那么,当用户摇晃他的安卓手机时,触发的事件是什么呢?请帮助我。
海,我在Georgy Gobozov的帮助下得到了解决方案,但是该解决方案必须如下所示进行改进才能正常工作,
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
if(newConfig.equals(Configuration.ORIENTATION_LANDSCAPE))
{
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
else if(newConfig.equals(Configuration.ORIENTATION_PORTRAIT))
{
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}
}
只需在活动中添加到您的 AndroidManifest
android:configChanges="keyboardHidden|orientation"
然后你应该在你的活动中覆盖这个方法
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
setContentView(R.layout.myLayout);
}
并且使用搜索,这个问题很受欢迎。
public class Accelerometer extends Activity
implements AccelerometerListener{
public void onShake(float force) {
Toast.makeText(this, "Phone shaked : " + force, 1000).show();
}
}
您可以参考以下链接
http://blog.androgames.net/85/android-accelerometer-tutorial/