android關於LinearLayout的坑

2021-08-03 06:55:44 字數 2895 閱讀 1230

以前開始學的時候

我們都知道如果linearlayout的布局方向有兩種

1.horizontal(水平方向布局)

2.vertical(垂直方向布局)

如果linearlayout的布局方向是horizontal,內部的控制項就絕對不能將寬度指定為match_parent,因為這樣的話,單獨乙個控制項就會將整個水平方向佔滿,其他的控制項就沒有可以放置的位子了,同樣道理如果linearlayout的布局方向是vertical,內部的的控制項就不能將高度指定為mach_parent

這段話看似很好理解,我也自以為是的很快就理解了,實則不然

今天寫**突然發現乙個「bug」

xmlns:

android

=""android

:layout_width=

"match_parent"

android

:layout_height=

"match_parent"

android

:orientation=

"horizontal"

>

android

:layout_width=

"wrap_content"

android

:layout_height=

"wrap_content"

android

:text=

"1">

android

:layout_width=

"match_parent"

android

:layout_height=

"wrap_content"

android

:text=

"2">

按道理說,上面的**由於我的第二button指定了layout_width="match_parent"所以只能看到第二個button,因為第乙個button被第二個button擠掉了

但是出來的效果卻讓我大吃一驚,如下圖

我勒個去。。。應該是以下的**才會出現上圖的效果啊

xmlns:

android

=""android

:layout_width=

"match_parent"

android

:layout_height=

"match_parent"

android

:orientation=

"horizontal"

>

android

:layout_width=

"wrap_content"

android

:layout_height=

"wrap_content"

android

:text=

"1">

android

:layout_width=

"0dp"

android

:layout_weight=

"1"android

:layout_height=

"wrap_content"

android

:text=

"2">

無奈,讓我冥思苦想乙個晚上

終於開竅

第一段**導致這種效果的合理解釋是

因為第乙個按鈕已經佔據了一部分空間,第二個按鈕再設定layout_width="match_parent"的時候,只會擠掉排列在第二個按鈕之後的控制項控制項,不會擠掉之前控制項的空間,於是,抱著這個想法我又開始新一輪的嘗試

xmlns:

android

=""android

:layout_width=

"match_parent"

android

:layout_height=

"match_parent"

android

:orientation=

"horizontal"

>

android

:layout_width=

"wrap_content"

android

:layout_height=

"wrap_content"

android

:text=

"1">

android

:layout_width=

"match_parent"

android

:layout_height=

"wrap_content"

android

:text=

"2">

android

:layout_width=

"wrap_content"

android

:layout_height=

"wrap_content"

android

:text=

"3">

果不其然,上面**的效果與圖1一毛一樣,看來我的推測是正確的

結論:當時linearlayout布局時,最後乙個控制項指定是laytout_width="match_parent"就會佔滿剩餘的所有空間,但是如果後期再想在這個所謂的「最後乙個控制項」後面再加乙個控制項,這個控制項是不會顯示出來的,還是按照標準的寫法,把layout_width或者layout_height的值設定為「0dp」再加上layout_weight="1"的這種寫法比較保險,不要為了一時偷懶導致後患無窮

unity 顏色空間linear下色差問題

我們專案美術是在linear下製作資源的,做一些比較真實一點的效果會比較容易些,在editer模式下看是比較精美的,但是打包完放在手機上,明顯有一些色差問題,如圖 在手機上的效果 在editer下的效果 後來找了很久,最終發現是lightmap計算方式不一致導致的,直接修改unity的unitycg...

android關於popupWindow不顯示問題

按照api和網上的例子,製作了乙個popupwindow的demo。但是popupwindow就是不顯示。後來發現必須設定popupwindow的寬度和高度,不然是顯示不出來的.以為popupwindow繫結自定義的view就可以了,還要設定高度和寬度.setcontentview view set...

關於android混淆

android studio新增混淆 1,在build.grandle新增,其中規則寫在proguard rules.pro中,也可以自定義乙個檔案,將其代替,比如eclipse常用的 proguard project.txt buildtypes 2,在proguard rules.pro中加入以...