2013-06-27 56 views
0

我可以告訴不同的活動以使用此方法從當前活動更改其方向?活動方向更改

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); 

我試圖做這樣的事情:

game.class.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); 

但這不會編譯。

+1

是什麼;然後在OnCreate你可以寫,如果(this.orientation ==「山水){ setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE)}?你試圖實現?無論如何,活動是不可見的所以試圖旋轉它的點是什麼? – Simon

+0

我想添加一個選項來運行肖像或風景模式中的下一個活動,點擊當前活動中的按鈕 – Shane

+0

在您的在這種情況下,您想要更改的活動的「onCreate」是您唯一可以執行此操作的時間 – tyczj

回答

0

當您運行下一個活動時,發送有關用於開始下一個活動的意圖的額外信息,並在下一個活動的onCreate中根據傳遞的信息更改方向。

Intent intent = new Intent(getBaseContext(), NextActivity.class); 
intent.putExtra("Orientation", "landscape"); 
startActivity(intent) 

在接下來的活動執行以下

Intent intent = getIntent(); 
String orientation = intent.getStringExtra("Orientation") 

android:configChanges="orientation|keyboardHidden" do this in manifest 

活性的用途onConfigurationChanged法檢測取向變化

public void onConfigurationChanged(Configuration newConfig) { 
super.onConfigurationChanged(newConfig); 

// Checks the orientation of the screen 
if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) { 

} else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){ 

} 

}

+0

在onCreate方法中不能改變方向,因爲活動被重新創建 – Shane

+0

In清單你可以說你會處理方向改變。 – neo

+0

@neo他想動態地做到這一點,所以不會工作 – tyczj

1

編輯。 只需將字符串轉換爲所選值的方向。並在另一個類中使用構造函數構建它。你爲什麼要這麼做

希望它可以幫助你

+0

他想給用戶一個選擇,這樣做在這種情況下不起作用 – tyczj

+0

哦,是的..awkard:D好吧,對不起。 – Helmisek

+0

如果你的帖子不正確,你可以要求刪除你的帖子。 – GHC