constraintlayout(約束布局)的出現是為了在android應用布局中保持扁平的層次結構,減少布局的巢狀,為應用建立響應快速而靈敏的介面。constraintlayout
可以替代其他布局。
android studio
在3.5.+版本之後建立布局時,預設的布局根節點就是constraintlayout
,雖然可以通過修改android studio
的預設配置以及自己手動選擇根節點來繼續使用linearlayout
、relativelayout
、gridelayout
、tablayout
或framelayout
等布局,但是這些布局畢竟相對於constraintlayout
來說侷限性很大,所以這裡對常用的constraintlayout
中的一些屬性進行說明。
constraintlayout
包含很多特性,這裡針對一些常用的特效進行說明。通過實現以上布局的效果來進行說明。
可以使用constraintlayout
來實現,linearlayout
從左到右,從上到下的布局效果。
linearlayout
從左到右
constraintlayout
具有relativelayout
的能力,即具有相對性(relative position),可以將乙個控制項置於相對於另乙個控制項的位置。這裡使用相對性實現該效果:
linearlayout
從上到下
constraintlayout
具有鍊錶性(chains),鏈使我們能夠對一組在水平或豎直方向互相關聯的控制項的屬性進行統一管理。
一組控制項它們通過乙個雙向的約束關係鏈結起來,並且鏈的屬性由一條鏈的頭結點控制。實現該效果:
[外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳(img-uoulz7sy-1594656939873)(./constraint/linear_vertical.png)]
chain style可以使用layout_constrainthorizontal_chainstyle:水平鏈條的樣式
layout_constraintvertical_chainstyle:豎直鏈條的樣式
constraintlayout
來實現,relativelayout
的任意效果。使用相對性
即可完美實現,這裡另外使用偏移性(bias)
來實現水平靠左且垂直居於螢幕3/10處。
如果想要將控制項在水平方向偏向左、或者在豎直方向偏向乙個方向,就可以配合使用bias屬性:
水平方向的偏移設定使用可以使用layout_constrainthorizontal_bias
,垂直方向的偏移設定使用layout_constraintvertical_bias
。居中情況下,bias的預設值為0.5,取值範圍是0~1,是以left或top為始起邊界。
constraintlayout
來實現,framelayout
的任意效果。這裡使用circular positioning(圓形定位)
來實現a居中b位於a右側上方30度。
相關屬性可以使用
constraintlayout
來實現,tablayout
的任意效果。這裡使用percent dimension(百分比性)
來實現水平2個button平分父布局的寬度。
具體更多特性,請自行檢視官方文件。
參考:
SOI簡單體驗
arcgis for server10.3.1中提供了乙個新的功能叫做soi。本文簡單的介紹soi概念,實現,在使用過程中的注意事項。閱讀本文和使用soi需要以下先決條件 soi是arcgis server 10.3.1中新增加的功能。故開發和部署soi需要安裝arcobject sdk 10.3....
單體模式的簡單實現
單體模式的思路 單體模式在多執行緒中容易出現被例項化多次的問題,因此要進行雙重為空判斷來緩解次問題 1.把建構函式的作用域改為私有的,那樣外面就不能new 2.通過乙個類的靜態方法得到乙個靜態例項 例如 public class a static a a null static a console....
Office 2013簡單體驗
北京時間7月17日,微軟發布了下一代office軟體 office 2013。office 2013消費者預覽版版本號為office15,面向windows 7和windows 8使用者但不支援windows vista和windows xp。老使用者可以考慮公升級系統了。之前體驗過,和window...