2017-07-30 48 views
-1

我有一個活動和兩個片段佈局和類。
我需要做的就是當我改變屏幕方向時,以不同的方式重新組織相同的內容。將代碼放入Activity或Fragment中以處理方向更改?

我的問題是我應該在哪裏放我的代碼?
哪個類的Activity類或Fragment類?

如果我在Fragment類中編碼,我應該把代碼放在兩個類中,還是如果我使用主Activity,我將如何從每個佈局中找到對象(如TextViews)?

+0

你的問題不明確。你想有兩個不同的片段與不同的佈局和代碼只有一個? –

+0

是的。我應該在哪裏放我的代碼? –

+0

我需要顯示相同的細節,當用戶改變設備的方向..我有一個主要活動和兩個片段佈局和班級模式和風景模式類。以顯示相同的信息。我應該在哪裏放我的代碼? –

回答

0

你把代碼放在視圖是......真的很簡單。

res/layout-land應保持完全相同的視圖ID。

例如,MainActivity會自動根據你的方向進行加載兩個res/layout/activity_main.xmlres/layout-land/activity_main.xml

findViewById將適當地工作,如果你不改變任何ID值

這裏有一整documentation page on this。注意他們使用保留片段,但這不是必需的。

而且Android Studio: Creating landscape layouts

+0

謝謝先生。有效! –

-1

基於評論到目前爲止我所瞭解的。

你有一個活動,你有兩個片段。這兩個片段具有不同的佈局,您希望根據設備的方向顯示這些佈局。

那麼有兩個辦法針對此問題

1)你想達到這個使用片段

創建片段一個抽象類,把常用功能的基類,並提供不同的片段不同的實現子類

你可以參考this

2)二approa ch

它可以在不使用片段的情況下以更簡單的方式實現。 創建一個layout-land目錄,並將佈局XML文件的橫向版本放在該目錄中。

請參閱本thread在計算器

希望它能幫助。

+0

我做了第二個,它工作。謝謝Sir1 –

相關問題