上一期咱們給你們講解了LinearLayout,這一期咱們爲你們講解一下FrameLayout(幀佈局)的使用,相較於其餘佈局,FrameLayout能夠說的上是最簡單的一個,而且其使用範圍相對來講也相對較小,可是也是Android中的六大布局之一,面試的時候仍是會碰到的,因此讓咱們趕忙開始學習吧~android
在FrameLayout中,這個佈局直接在屏幕上開闢出一塊空白的區域,全部添加到這個佈局中的視圖都是以層疊的方式顯示,而它會把這些試圖默認放到這塊區域的左上角,第一個添加到佈局中視圖顯示在最底層,最後一個被放在最頂層。上一層的視圖會覆蓋下一層的視圖,所以該佈局相似於堆棧佈局,這就是FrameLayout爲何被使用較少的緣由。面試
FrameLayout的經常使用屬性不多就兩個佈局
兩個屬性:學習
前景圖像:永遠處於幀佈局最上面,直接面對用戶的圖像,就是不會被覆蓋的圖片。spa
可能有的小夥伴對這個解釋比較模糊,那麼咱們來用實際操做讓你們直觀的感覺一下究竟是什麼意思吧!3d
上圖中能夠看到background顧名思義就是設置背景,那麼前景是什麼,相信小夥伴們已經有點概念了,讓咱們繼續往下看吧blog
相信小夥伴們看完上圖已經完全明白了什麼是前景圖像,一樣的代碼,只是將background變成foreground,能夠明確的看出圖1中HelloWord依然能夠看到,可是在圖2中,已經被擋住。咱們能夠這樣簡單的去理解,foreground其實就是一本書的封面,它把書中的內容所有遮蓋住了。圖片
經過layout_gravity設定值,再配合layout_marginTop,layout_marginLeft來設置位置。rem
舉例,有4個TextView:第一層爲公司,第二層爲辦公室,第三層爲工位,第四層是程序猿。若不設置TextView的位置,則此四個文字都將默顯示在左上角,而且公司在最下面,程序猿在最上面。要實現圖中四幅圖的位置效果,則分別對應如下設置:it
(1)第一層公司 :android: layout_gravity="center"
(2) 第二層辦公室 :android: layout_gravity = "center" android:layout_marginTop="-150dp" (注意:此處是負數,由於 android:layout_gravity = "center" 表示水平和垂直方向上居中,基準線爲視圖水平和垂直方向的中點,由於辦公室在基準線的上方向(負方向),因此爲負數)
(3)第三層工位 :android:layout_gravity="top" android:layout_marginTop="40dp" android:layout_marginLeft="40dp' (注意:android:layout_gravity="top" 表示垂直方向頂端對齊,而水平方向是默認左對齊)
(4)第四層程序猿 : android:layout_gravity="center" android:layout_marginTop="80dp" (對應第二層辦公室的分析,就很容易理解,程序猿在基準線下方向(正方向),因此爲負數。而且注意:此處的基準線不是屏幕的最上方,而是水平和垂直方向各自的中心線)
最終效果圖爲:
關於FrameLayout的介紹就到這裏啦,闊能部分小夥伴以爲今天的文章內容不是太多,主要是由於FrameLayout在實際項目中應用到的場景很是之少,因此你們簡單瞭解一哈就行了。可是!!!小夥伴們跟着咱們一塊兒學習已經有一週時間,相信確定還有一小部分同窗沒有建立本身的第一個項目,因此指望大家趕忙行動起來,將這一週的精彩內容都寫入你的第一個我的demo中吧。已經跟着咱們一直在實戰的小夥伴,但願大家也能夠回顧一下以前文章,子曰:學而時習之,不亦說乎?~
PS:若是還有未看懂的小夥伴,歡迎加入咱們的QQ技術交流羣:892271582,裏面有各類大神回答小夥伴們遇到的問題哦~