奇葩屬性 layout weight 的解釋及使用

2021-09-16 12:52:46 字數 1054 閱讀 2925

摘要

layout_weight 的含義及使用

在android的控制項布局中,有乙個奇葩的 layout_weight 屬性,定義如下:

layout_weight : 用於指定剩餘空閒空間的分割比例。用法:

複製**

複製**

為什麼說是奇葩呢?

以上面的布局**為例,textview-888 和 textview-999999 是橫向排列的2個控制項,它們的layout_weight=「1」,說明這2個控制項平分了所在linearlayout的剩餘的空閒空間, 我們很容易的就誤認為這2個控制項平分了水平方向的空間,即:各自佔據了 50% 的寬度。

其實這是錯誤的,而是:textview-999999控制項所佔據的寬度 > textview-888所佔據的寬度。因為999999字元佔據的寬度大於888佔據的寬度,即:w(999999) + 1/2空閒空間 > w(888) + 1/2空閒空間。

這就是它奇葩的地方,很容易就讓我們一直誤認為是整個控制項分割空間。到這裡,大家一定會認為,這樣的話,layout_weight 這個屬性就沒有什麼意義了,原以為它可以分配空間呢,原來只是分割剩餘空閒空間。

其實,呵呵,layout_weight 是可以用來進行整個空間的分割的,如果我們讓控制項的寬度定義為0,這樣比如2個控制項的 layout_weight=「1」 就可以各自50%平分整個空間了,因為:0 + 1/2空閒空間 = 0 + 1/2空閒空間

這是乙個小技巧,也是非常實用的乙個實用layout_weight分割方案:定義控制項的 layout_width=「0dp」 或layout_height=「0dp」 配上 layout_weight 就可以實現對整個空間的比例分割了。

下面定義了2個控制項的 layout_width=「0dp」, layout_weight=「1」,實現了水平方向50%平均分割:

複製**

複製**

下面定義了2個控制項的 layout_height=「0dp」, layout_weight=「1」,實現了豎直方向50%平均分割:

複製**

複製**

layout_weight 原來是可以這麼用滴

奇葩屬性 layout weight 的解釋及使用

在android的控制項布局中,有乙個奇葩的 layout weight 屬性,定義如下 layout weight 用於指定剩餘 空閒空間的分割比例。用法 orientation horizontal layout width wrap content android layout height ...

奇葩的狐火瀏覽器border屬性

今天接到乙個bug任務,客戶反映火狐瀏覽器訪問時某個商品樓層不顯示商品。我立即開啟我的火狐瀏覽器發現沒有復現這個bug,後來經過一番折騰,才發現火狐瀏覽器縮放到90 時,商品樓層果然就消失了,而且每台電腦都會復現,看來這就是css 問題了而不是介面資料問題,接下來我們就來分析這段歷史悠久的css 這...

奇葩的想法

1.整除的個數 大致意思是給兩個整數 x,y 求1 x中所有可以整除y的數的個數 想的時候很簡單覺得直接列舉出結果就好了 結果測試的時候超時 後來分來一半來做 還是超時 想了半天不知道怎麼想 後來才發現直接用x對y求整除就是結果 想了下的確是這樣 x中能夠容納多少個y 不就說明 1 x中有多少種可以...