flutter基礎組件2

PhysicalModel

裁剪組件

場景:UI 需要實現四個角的圓角,常規是需要最外層容器設置borderRadius,然后里層的組件也需要設置borderRadius。通過PhysicalModel,只需要設置外層容器的borderRadius,里層組件會被自動裁剪。有點類似overflow:hiden


2.1 Card

Card:一個 Material Design 卡片。擁有一個圓角和陰影

默認情況下 Card 是無限小的。

Card 可識別為單個包含的單元。

Card 可以獨立存在,而不依賴于周圍的元素作為上下文。

一個 Card 不能與另一個 Card 合并,也不能分成多個 Card 。

2.2 ListTile

這個已經被多次使用了,最經典的案例就是個人名片,因為這個自帶 heading 放頭像, title, subtitle, text 這種可以放不同層級內容的部分。

2.3

SingleChildScrollView

組件是負責滾動的,里面只能嵌套一個組件

Column布局超出屏幕后不能滾動,需要在外層嵌套SingleChildScrollView才可以

可以設置滾動方向,也可以通過reverse 屬性設置閱讀順序

還可以解決TextField布局溢出問題


FittedBox 縮放

負責對組件進行縮放和位置調整

fit 縮放方式縮放本身占據FittedBox的大小,默認值BoxFit.contain

子組件的寬度或高度被縮放到父容器限定的值時,就會被停止縮放

2.4

CustomScrollView

兩個組件結合起來形成一個滾動區域

AppBar -> SliverAppBar

GridView -> SliverGrid

ListView -> SliverFixedExtentList

轉換后的組件都是以(

Sliver)開頭的,其本身是不具備滾動特征的,但是當放在CustomScrollView中之后,則可以實現滾動的功能


2.5

PageView

實現類似輪播圖的效果

數據量大可通過PageView.builder優化性能

2.6

GestureDetector

手勢識別的組件,可以識別點擊、雙擊、長按事件、拖動、縮放等手勢

2.7

InkWell

作用跟GestureDetector類似。

GestureDetector使用點擊無水波紋出現,InkWell可以實現水波紋效果

2.8

ClipRRect

裁剪圓角

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容