在Android中更改屏幕方向需要帮助

时间:2010-11-01 18:05:39

标签: android android-orientation

当用户顺时针/逆时针旋转Android手机时,我想将屏幕方向从纵向更改为横向,反之亦然。谁能帮助我如何实现这一目标?我不知道当用户旋转他的Android手机时会发生什么事件。

例如,当用户触摸UI中的按钮时,触发事件被触发。因此,当用户摇动他的Android手机时,触发的事件是什么?请帮帮我。

3 个答案:

答案 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/