可動態佈局的Android抽屜之基礎
阿新 • • 發佈:2018-11-15
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow
也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!
本文來自http://blog.csdn.net/hellogv/ ,歡迎轉摘,引用必須註明出處!
以前曾經介紹過
如下圖。在對周圍壓擠的情況下,抽屜是先把周圍的元件一次性壓擠,再通過動畫效果展開/收縮的,這種做法的好處是快速簡單,壞處是如果擠壓範圍過大,則效果生硬。
本文實現的自定義抽屜元件,主要針對這種壓擠效果做出改良,漸進式壓擠周圍元件,使得過渡效果更加美觀。如下圖。
本文實現的抽屜原理是醬紫:
1.抽屜元件主要在螢幕不可視區域,手柄在螢幕邊緣的可視區域。即 抽屜.rightMargin=-XXX + 手柄.width
2.指定一個周圍元件為可壓擠,即LayoutParams.weight=1;當然使用者也可以指定多個View.
3.使用AsyncTask來實現彈出/收縮的動畫,彈出:抽屜.rightMargin+=XX,收縮:抽屜.rightMargin-=XX
總結,本文的自定義抽屜雖然對壓擠周圍元件有過渡效果,但是比較耗資源,讀者可以針對不同的情況考慮使用。
本文的原始碼可以到 http://download.csdn.net/detail/hellogv/3615686 下載。
接下來貼出本文全部原始碼:
main.xml的原始碼: