1. 程式人生 > >可動態佈局的Android抽屜之基礎

可動態佈局的Android抽屜之基礎

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow

也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!

               

本文來自http://blog.csdn.net/hellogv/ ,歡迎轉摘,引用必須註明出處!      

       以前曾經介紹過

《Android提高第十九篇之"多方向"抽屜》,當這個抽屜元件不與周圍元件發生壓擠的情況下(周圍元件佈局不變),是比較好使的,但是如果需要對周圍元件擠壓,則用起來欠缺美觀了。

       如下圖。在對周圍壓擠的情況下,抽屜是先把周圍的元件一次性壓擠,再通過動畫效果展開/收縮的,這種做法的好處是快速簡單,壞處是如果擠壓範圍過大,則效果生硬。

 

      本文實現的自定義抽屜元件,主要針對這種壓擠效果做出改良,漸進式壓擠周圍元件,使得過渡效果更加美觀。如下圖。

 

本文實現的抽屜原理是醬紫:

1.抽屜元件主要在螢幕不可視區域,手柄在螢幕邊緣的可視區域。即 抽屜.rightMargin=-XXX + 手柄.width

2.指定一個周圍元件為可壓擠,即LayoutParams.weight=1;當然使用者也可以指定多個View.

3.使用AsyncTask來實現彈出/收縮的動畫,彈出:抽屜.rightMargin+=XX,收縮:抽屜.rightMargin-=XX

總結,本文的自定義抽屜雖然對壓擠周圍元件有過渡效果,但是比較耗資源,讀者可以針對不同的情況考慮使用。

本文的原始碼可以到

http://download.csdn.net/detail/hellogv/3615686 下載。

接下來貼出本文全部原始碼:

main.xml的原始碼: