Android布局—Layout_weight

此次淺談布局中權(quán)重,廢話不多說,直奔主題。

首先我們創(chuàng)建一個(gè)LineatLayout 布局,并設(shè)置為橫向放置;布局中放置三個(gè)文本框tv1;tv2;tv3

1、當(dāng)我們給三個(gè) TextView的寬度都設(shè)置成Layout_width="fill_parent",設(shè)置三個(gè)文本框的權(quán)重分別是1:2:2;此時(shí)三個(gè)文本框在布局中的顯示結(jié)果是:tv1、tv2、tv3都顯示,且三個(gè)文本框在布局中的顯示比例是tv1:tv2:tv3=3:1:1.

分析:系統(tǒng)首先給3個(gè)文本框分配了他們所需要的寬度(fill_parent),根據(jù)公式:實(shí)際寬度=設(shè)置的寬度+權(quán)重比例*剩余空間。那么這時(shí)的剩余空間=1個(gè)parent_width-3個(gè)parent_width=-2個(gè)parent_width(parent_width指的是屏幕的寬度);tv1實(shí)際所占得寬度=fill_parent(parent_width)+1/5*(-2個(gè)parent_width)=3/5個(gè)parent_width;tv2實(shí)際所占得寬度=fill_parent(parent_width)+2/5*(-2個(gè)parent_width)=1/5個(gè)parent_width;tv3實(shí)際所占得寬度=fill_parent(parent_width)+2/5*(-2個(gè)parent_width)=1/5個(gè)parent_width;故三個(gè)文本框在布局中的顯示比例是tv1:tv2:tv3=3:1:1。

2、當(dāng)我們給三個(gè) TextView的寬度都設(shè)置成Layout_width="fill_parent",設(shè)置三個(gè)文本框的權(quán)重分別是1:2:3;則布局中只顯示tv1和tv2,且顯示的文本框比例是tv1:tv2=2:1。

分析:剩余空間=1個(gè)parent_width-3個(gè)parent_width=-2個(gè)parent_width;tv1實(shí)際所占得寬度=fill_parent(parent_width)+1/6*(-2個(gè)parent_width)=2/3個(gè)parent_width;tv2實(shí)際所占得寬度=fill_parent(parent_width)+2/6*(-2個(gè)parent_width)=1/3個(gè)parent_width;tv3實(shí)際所占得寬度=fill_parent(parent_width)+3/6*(-2個(gè)parent_width)=0個(gè)parent_width;故顯示的文本框比例是tv1:tv2=2:1。

3、若三個(gè)文本框的寬度都設(shè)置成wrap_content或0dp,權(quán)重比例tv1:tv2:tv3=1:2:3,則布局中三個(gè)文本框都顯示,且顯示的比例是tv1:tv2:tv3=1:2:3。

分析:系統(tǒng)先給3個(gè)文本框分配了他們的寬度值wrap_content,然后把剩下的屏幕空間按照1:2:3的比例分配給3個(gè)文本框,故布局中顯示的文本框比例是tv1:tv2:tv3=1:2:3。

成都創(chuàng)新互聯(lián)公司是一家專業(yè)提供景谷企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站制作、網(wǎng)站建設(shè)、H5場景定制、小程序制作等業(yè)務(wù)。10年已為景谷眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)的建站公司優(yōu)惠進(jìn)行中。

分享文章:Android布局—Layout_weight
本文URL:http://muchs.cn/article12/iehsgc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)、商城網(wǎng)站、關(guān)鍵詞優(yōu)化軟件開發(fā)、面包屑導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)