安卓layout weight屬性解析

2021-08-10 01:55:46 字數 1162 閱讀 5620

layout_weight是linearlayout布局中的乙個常用的屬性,一般使用該屬性的意願是按照比重分配空間的長度或者寬度,但是若不對該屬性原理進行了解,呈現效果卻是和理想的大相徑庭。

首先解釋一下,layout_weight並不是乙個完全用來設定大小的屬性,某種意義上它是乙個對於layout_width或者layout_height屬性的補充,優先順序低於layout_width屬性和layout_height屬性。layout_weight分配的事剩餘空間的權重。何為剩餘空間?剩餘空間就是根據各個空間的layout_width屬性或者layout_height屬性分配完之後剩餘的行或者列的值。

結合具體**分析:

<?xml version="1.0" encoding="utf-8"?>

重新指向另外乙個物件橫向排列三個textview,設定layout_weight比值為1:2:3,呈現效果如下:

可以看到寬度並沒有按照1:2:3的比例,其原因還是剩餘空間概念的問題。假設螢幕畫素為480dp,那麼第乙個textview的寬度為10dp,

第二個textview的寬度為100dp,

第三個textview的寬度為10dp,那麼此時剩餘空間則為480-10-100-10=360dp,再按照1:2:3比例來算,第乙個textview分到60dp,加上原有10dp的則是70dp,同理第二個為220dp,第三個看度為190dp,所以最終比例如圖7:22:9。

相信通過該例子對於layout_weight的屬性已經有了一定了解。那麼如何實現真正的按比值設定寬度呢?設定layout_width均為0dp即可,剩餘空間為完整寬度,即可按照比值設定寬度。給出**如下:

屬性的了解不能一知半解,否則事倍功半。了解原理很重要。

特記下,以備後日回顧。

安卓機頂盒軟體安卓

建立乙個自定義列表 如何建立乙個註腳 注釋也是必不可少的 katex數學公式 新的甘特圖功能,豐富你的文章 uml 圖表 flowchart流程圖 匯出與匯入 你好!這是你第一次使用markdown編輯器所展示的歡迎頁。如果你想學習如何使用markdown編輯器,可以仔細閱讀這篇文章,了解一下mar...

安卓app公升級之安卓app簽名

2.使用者自定義的方式簽名 簽名是安卓的公升級的必須要求 載掉舊版本才能安裝新版本,即讓使用者把舊版本卸在裝新的,這樣使用者體驗肯定就不好了。使用者自定義的方式簽名具體流程如下 1 滑鼠右鍵單機專案,選擇export,出如下視窗 之後就按步驟要求就可以匯出乙個已經通過自定義密匙簽名的安卓apk和密匙...

kindle安卓更新韌體 已經裝過安卓系統

具體步驟為 我的電腦 右鍵 屬性 高階 環境變數 在系統變數中找到path 不分大小寫 雙擊它 在其變數值 v 中新增 c windows system32 新增方法為 在原變數值後面加英文分號,接著分號後面貼上 c windows system32 就可以了,然後一路確定。電腦提示安裝驅動,則按照...