您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關怎么使用FrameLayout進行布局,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
在FrameLayout中,這個布局直接在屏幕上開辟出一塊空白的區域,所有添加到這個布局中的視圖都是以層疊的方式顯示,而它會把這些試圖默認放到這塊區域的左上角,第一個添加到布局中視圖顯示在最底層,最后一個被放在最頂層。上一層的視圖會覆蓋下一層的視圖,因此該布局類似于堆棧布局,這就是FrameLayout為什么被使用較少的原因。
1.常用屬性
FrameLayout的常用屬性很少就兩個
兩個屬性:
android:foreground:設置改幀布局容器的前景圖像
android:foregroundGravity:設置前景圖像顯示的位置
前景圖像:永遠處于幀布局最上面,直接面對用戶的圖像,就是不會被覆蓋的圖片。
可能有的小伙伴對這個解釋比較模糊,那么我們來用實際操作讓大家直觀的感受一下到底是什么意思吧!
上圖中可以看到background顧名思義就是設置背景,那么前景是什么,相信小伙伴們已經有點概念了,讓我們繼續往下看吧
相信小伙伴們看完上圖已經徹底明白了什么是前景圖像,同樣的代碼,只是將background變成foreground,可以明確的看出圖1中HelloWord依然可以看到,但是在圖2中,已經被擋住。我們可以這樣簡單的去理解,foreground其實就是一本書的封面,它把書中的內容全部遮蓋住了。
2.FrameLayout如何設置其子視圖(例如TextView)的位置?
通過layout_gravity設定值,再配合layout_marginTop,layout_marginLeft來設置位置。
舉例,有4個TextView:第一層為公司,第二層為辦公室,第三層為工位,第四層是程序猿。若不設置TextView的位置,則此四個文字都將默顯示在左上角,并且公司在最下面,程序猿在最上面。要實現圖中四幅圖的位置效果,則分別對應以下設置:
(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進行布局有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。