2010-11-01 72 views
1

當用戶順時針/逆時針旋轉他的Android手機時,我想將屏幕方向從縱向更改爲橫向,反之亦然。任何人都可以幫助我如何實現這一目標?我不知道當用戶旋轉他的Android手機時會發生什麼事件。在Android中更改屏幕方向時需要幫助

例如,當用戶觸摸UI中的按鈕時,觸發事件被觸發。所以,當用戶搖動他的Android手機時,被觸發的事件是什麼?請幫助我。

回答

1

海, 我解格奧爾基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); 
    } 
    } 
0

只需添加到您的AndroidManifest在活動

android:configChanges="keyboardHidden|orientation" 

那麼你應該

@Override 
public void onConfigurationChanged(Configuration newConfig) { 
    super.onConfigurationChanged(newConfig); 
    setContentView(R.layout.myLayout); 
} 

而且利用搜索覆蓋此方法在您的活動,這個問題是非常受歡迎的。

+0

此答案與搖動手機無關。 – ShadowGod 2010-11-02 01:55:28

+0

@ Gerogy Gobozov:請參考我發佈的答案,我向你傳達我的感謝信,因爲你已經展示了onconfigurationchanged方法的觸發事件。 – 2010-11-02 12:21:07

+0

@ShadowGod:請參考我發佈的答案 – 2010-11-02 12:42:54

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/

+0

@Kurnal Shah:可以告訴我,我寫過這段代碼,我把我的設備從時鐘智能旋轉到了逆時針智能,但是我沒有收到這個敬酒信息,請告訴我我做錯了什麼 – 2010-11-02 09:52:22

+0

@Tilsan戰士:你已經通過下面的例子,我已經給了鏈接。請參考 – 2010-11-02 10:42:03

+0

Shah:感謝您的幫助,我已經以Georgy Gobozov給出的一種非常簡單的方式實現了這一點,並且請提及正確的答案,我已經發布了它。 – 2010-11-02 12:18:52