当用户顺时针/逆时针旋转Android手机时,我想将屏幕方向从纵向更改为横向,反之亦然。谁能帮助我如何实现这一目标?我不知道当用户旋转他的Android手机时会发生什么事件。
例如,当用户触摸UI中的按钮时,触发事件被触发。因此,当用户摇动他的Android手机时,触发的事件是什么?请帮帮我。
答案 0 :(得分:1)
亥, 我在 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);
}
}
答案 1 :(得分:0)
只需在活动中添加AndroidManifest
即可android:configChanges="keyboardHidden|orientation"
然后你应该在你的活动中覆盖这个方法
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
setContentView(R.layout.myLayout);
}
使用搜索,这个问题很受欢迎。
答案 2 :(得分:0)
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/