ConstraintLayout 核心用法

ConstraintLayout 核心用法

AndroidStudio新建的工程默認佈局就是ConstrainsLayout,之所以這樣是因爲Google推薦我們這麼做。ConstrainsLayout是RelativeLayout改良後的一個版本,尤其適合在GUI中設計App界面。

1. constraint

一個控件(View)所在的位置由它的4個方向上的約束所確定,至少得有水平和垂直方向各1個約束

  • 如果沒有給加一個view加約束,它運行時的位置將在(0,0)處,並且該控件會有提示
    在這裏插入圖片描述
    Design界面,TextView在中間
    在這裏插入圖片描述
    但是運行時,它實際位置在屏幕左上角。

  • 每拖入一個控件,都要連4個約束,太麻煩,怎麼辦?用魔法棒
    [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-i87h88DD-1585818707673)(.ConstraintLayout_images/Apr-01-2020%2018-03-48.gif)]
    魔法棒智能的添加約束,儘可能的保持原有的位置

  • 刪除約束
    在這裏插入圖片描述在這裏插入圖片描述

2. pack

在這裏插入圖片描述
pack Vertically:可將多個控件/view 緊湊的在垂直方向上聚攏到一起
pack Horizontally:水平方向上同理
expand Horizontally:將1個或多個控件在水平方向擴展直至佔滿父佈局
expand Vertically:垂直方向上同理
在這裏插入圖片描述

3. align(各種對齊方式,可對多個控件使用)

  • align
    在這裏插入圖片描述
    在這裏插入圖片描述
  • 還有一種對齊
    在這裏插入圖片描述
  • 兩控件文字基線對齊(有這種對齊方式,但是我的studio 3.2.1按鈕右鍵沒有showbaseline,3.4有)

4. Guidelines(輔助線)

在這裏插入圖片描述

重點爲guideline何barrier,能使我們的界面設計得更加精準

  1. Guildline(重點)
  • 只是設計階段能看到,運行時看不到
  • 加了之後,控件會多了可以連接的地方,可以添加多個
  • 移動輔助線時,所有跟他關聯的控件都會同時移動
    在這裏插入圖片描述
  • 輔助線有個重要的好處是點擊Cycle Guideline(鼠標放到guildline上)修改它的模式
    • 水平guideline:
      • 距離上邊的絕對距離
      • 距離下邊的絕對距離
      • 距離上邊的百分比(非常有用,實現屏幕適配)
    • 垂直guideline:同理
  1. Barrier
  • 給多個控件添加一條邊界,
    在這裏插入圖片描述
  1. Group
    • 可以把多個控件添加到一個group,然後操作group,比如設置group爲invisiable,則在group內多個控件都將不可見

最後,實現如下圖的一個demo,在不同分辨率的屏幕下整體效果都基本一樣。
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章