2016-07-23 75 views
0

所以我必須創建一個登錄活動+片段(登錄,註冊)。我希望主屏幕是兩個按鈕(登錄+註冊),我已經在我的主要活動的xml文件中創建了這兩個按鈕。有兩個片段的Android活動

但是我很難理解我應該如何在我的活動中添加兩個片段(一個登錄活動,這會使我首先帶有一個登錄屏幕和一個註冊活動,這會將我帶到第二個片段與一個寄存器屏幕)

所以我在android studio中創建了一個空白活動的新項目,然後右鍵單擊res/layout文件夾,然後按下創建新的空片段,但是這個片段沒有被添加到我的MainAcivity.java文件所在的文件夾中,創建了一個名爲layout的新文件夾並將其添加到那裏。如何將這些片段添加到我的主活動中?是否可以使主活動性被該片段內的片段替換活動(所以當我點擊o時我的主頁被隱藏了ne按鈕,然後片段得到顯示)?或者我應該怎麼做呢?

對不起,如果這似乎令人困惑,這是對我來說。任何幫助將非常感激。

回答

1

試試這個:

  • 首先,當你創建了一個項目,該項目產生的爲您提供您的活動及活動類本身的佈局。其次,如果你想添加一個新的片段,你可以添加一個Fragment類到你的項目(樣本文件夾作爲你的活動),並且爲該片段創建一個佈局xml文件。
  • 現在,在您的活動中,在加載相應的片段之前,您需要兩個按鈕 - 一個用於登錄,另一個用於登錄。
  • 這裏要記住的重要事情是在MainActivity的佈局xml中放置一個FrameLayout,它將保存您的片段。
  • 當用戶選擇登錄時,您將創建LoginFragment的實例,使用FragmentManager來提交事務。
  • 當用戶選擇註冊時,您創建了一個RegisterFragment實例,使用FragmentManager來提交事務。

由於您將使用FrameLayout,如果第一個片段已經存在,您將替換第二個片段!

我希望這有助於!

1

我想在主屏幕是兩個按鈕(登錄+寄存器),我已經在我的主要活動的XML文件已創建

好,太好了!

我竭力要明白,我怎麼「米應該是兩個片段添加到我的活動(一個登錄活動,這將使我先片段與loginscreen和一個寄存器活性,這會給我帶來到第二用registerscreen片段)。

你想一個LoginFragmentRegisterFragment?更有意義超過兩個Activitys,你還不得不用2個按鈕的HomePageFragment

這個FRAG換貨不被添加到我的MainAcivity.java文件中,一個新的文件夾,名爲佈局得到了建立和它得到了補充說

目前尚不清楚這是怎麼發生的,但片段,就像是一個文件夾活動有一個XML佈局和一個Java類。如果您在Java路徑中添加了佈局包,那麼您並不需要它,並且可以將java文件彼此相鄰。

如何將這些片段添加到我的主要活動?

使用FragmentTransaction,例如,從AppCompatActivity

LoginFragment loginFrag = new LoginFragment(); 

// Add the fragment to the 'fragment_container' FrameLayout 
getSupportFragmentManager().beginTransaction() 
     .add(R.id.fragment_container, loginFrag).commit(); 

它甚至有可能使主胡亞蓉獲得通過活動中的片段取代(所以我的主頁被隱藏當我點擊一個按鈕,然後將片段被所示)?

你不用更換活動,你的「過渡」 /「替換」被內父活動顯示片段。

有關詳細信息,請參閱Building a Flexible UI

+0

所以如果我想要三個屏幕,我會使用三個片段,而不是在活動中使用部分UI,然後用兩個片段隱藏它? – user3117628

+0

您可以在屏幕上使用N個活動,也可以在單個活動中使用N個片段。這真的取決於你。 –