Android碎片化佈局fragment的實戰應用

前言html

Fragment其實能夠理解爲一個具備本身生命週期的控件,只不過這個控件又有點特殊,它有本身的處理輸入事件的能力,有本身的生命週期,又必須依賴於Activity,能互相通訊和託管。微信

使用Fragment還有這麼幾個方面優點:ide

  • 代碼複用。特別適用於模塊化的開發,由於一個Fragment能夠被多個Activity嵌套,有個共同的業務模塊就能夠複用了,是模塊化UI的良好組件。模塊化

  • Activity用來管理Fragment。Fragment的生命週期是寄託到Activity中,Fragment能夠被Attach添加和Detach釋放。函數

  • 可控性。Fragment能夠像普通對象那樣自由的建立和控制,傳遞參數更加容易和方便,也不用處理系統相關的事情,顯示方式、替換、無論是總體仍是部分,均可以作到相應的更改。測試

  • Fragments是view controllers,它們包含可測試的,解耦的業務邏輯塊,因爲Fragments是構建在views之上的,而views很容易實現動畫效果,所以Fragments在屏幕切換時具備更好的控制。動畫


視頻效果spa

此次咱們就上傳的e碼通的登錄界面,經過切換登錄方式直接切換對應的界面,帳號登錄和手勢登錄.net



代碼演示3d

咱們的e碼通項目,由於項目裏的文件較多,因此我這裏這截取重點。

登錄界面

activity_login.xml

中間的空白區域

咱們直接加一個LinearLayout起名爲login_fragment


LoginActivity

關鍵代碼

上面先定義了咱們的帳號登錄和手勢登錄的Fragment,而後用一個CreateFrag來建立表頭和表體碎片。

而後定義一個Logintype爲整型,用於區分當前的是帳號登錄仍是手勢登錄。而後SetLoginType函數就是用於根據不一樣的類型切換咱們的fragment的效果。




帳號登錄

fragment_login_input.xml


LoginInputFragment




手勢登錄

fragment_login_sign.xml

關於手勢登錄這塊咱們單獨再找一篇來說。


LoginSignFragment




運行效果

點擊切換登錄方式後




-END-


長按下方二維碼關注微卡智享




本文分享自微信公衆號 - 微卡智享(VaccaeShare)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。

相關文章
相關標籤/搜索