bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

flutter旋轉展示的簡單介紹

Flutter 滑動、縮放控件

onInteractionEnd 交互結束

創新互聯建站自2013年創立以來,是專業互聯網技術服務公司,擁有項目網站制作、成都網站建設網站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元瑞昌做網站,已為上家服務,為瑞昌各地企業和個人服務,聯系電話:028-86922220

onInteractionStart 交互開始

onInteractionUpdate 滑動時候一直會回調

focalPoint 是相對于屏幕左上角的偏移量。

localFocalPoint是相對于父容器區域左上角的偏移量。

scale縮放量。

horizontalScale水平縮放量。

verticalScale豎直縮放量。

rotation旋轉量。------ 這里說明能監聽到旋轉量

還可以通過transformationController進行變換控制,有興趣的可以自己研究。

參考文章

Flutter Transform使用介紹

窗口小部件(Widget)可以在Paint之前應用Transform進行轉換,通過Transform可以對widget進行平移、旋轉、縮放等矩陣變換。不像RotatedBox在layout前就對Widget進行旋轉操作,Transform是在Widget繪制前進行轉換,這意味著在計算Widget的顯示需要占用多少空間時,不會去考慮Transform變換。

例子

在垂直方向移動15個單位距離

例子

順時針旋轉45°

例子

放大1.5倍

Flutter(6):基礎組件之Image

Image是一個用于展示圖片的組件。支持 JPEG、PNG、GIF、Animated GIF、WebP、Animated WebP、BMP 和 WBMP 等格式。

Image.asset - 用于從資源目錄的顯示圖片,需要在 pubspec.yaml 文件中聲明。

Image.network - 用于從網絡上顯示圖片。

Image.file - 用于從文件里顯示圖片。

Image.memory - 用于從內存里(Uint8List)顯示圖片。

alignment → AlignmentGeometry - 圖像邊界內對齊圖像。

centerSlice → Rect - 九片圖像的中心切片。

color → Color - 該顏色與每個圖像像素混合colorBlendMode。

colorBlendMode → BlendMode - 用于 color 與此圖像結合使用。

fit → BoxFit - 圖像在布局中分配的空間。

gaplessPlayback → bool - 當圖像提供者發生變化時,是繼續顯示舊圖像(true)還是暫時不顯示(false)。

image → ImageProvider - 要顯示的圖像。

matchTextDirection → bool - 是否在圖像的方向上繪制圖像 TextDirection。

repeat → ImageRepeat - 未充分容器時,是否重復圖片。

height → double - 圖像的高度。

width → double - 圖像的寬度。

加載資源圖片需要將圖片資源放入工程中,例如:新建images文件夾,將圖片放在該文件夾下,圖片適配則是使用ios的方式1X,2X,3X:

然后在pubspec.yaml中配置assets:

加載資源/網絡/本地文件圖片/內存圖片:

占位圖加載圖片:

圓形圖片:1.裁剪實現 2.CircleAvatar實現 3.Container邊框實現

圓角圖片:1.裁剪實現 2.Container邊框實現

BoxFit.contain 全圖居中顯示但不充滿,顯示原比例

BoxFit.cover 圖片可能拉伸,也可能裁剪,但是充滿容器

BoxFit.fill 全圖顯示且填充滿,圖片可能會拉伸

BoxFit.fitHeight 圖片可能拉伸,可能裁剪,高度充滿

BoxFit.fitWidth 圖片可能拉伸,可能裁剪,寬度充滿

BoxFit.scaleDown 效果和contain差不多, 但是只能縮小圖片,不能放大圖片

下一節學習基礎組件之Text

Flutter動畫 --- 平移/旋轉/縮放/漸變

在Flutter中Widget動畫的核心類有下面這些:

Animation:動畫庫中的一個核心類,它生成指導動畫的值;

CurvedAnimation:將動畫過程抽象為一個非線性曲線;

AnimationController:用來管理管理動畫,常用的方法有forward():啟動動畫;reverse({double from}:倒放動畫;reset():重置動畫,將其設置到動畫的開始位置;stop({ bool canceled = true }):停止動畫。

Tween:AnimationController對象的范圍從0.0到1.0。如果您需要不同的范圍或不同的數據類型,則可以使用Tween來配置動畫以生成不同的范圍或數據類型的值。

Flutter開發--如何布局?

相對于iOS開發,Flutter的布局更具有靈活性,每個頁面設計都不一樣,相同頁面可選擇的布局方式也不一樣,如果單純的說應該如何去布局,我覺得不現實,大家可以參考下 Flutter官方的布局教程 。接下來,筆者,通過項目中的一個頁面,來一步一步的拆解布局的流程。整個過程,基本上按照拆解、組件封裝、具體布局這三步來的。

根據設計圖,可以看出整體可以分成兩部分,上面一部分是系統介紹模塊,下面一部分是真正的登錄內容,因為涉及到疊加,因此考慮用Stack;

系統介紹模塊部分:整體也是涉及到疊加,考慮用Stack,分為四部分。最底部漸變色背景用一個contanier,無須指定位置,全視圖擴展;載放logo圖標在上一層,用Image。最后兩個Text同級放在最上層。Image,Text各用Positioned包裹去指定位置。

登錄內容模塊是最外層是一個Contanier容器,去控制背景色和圓角。然后是一個Column元素,逐行排列。

第一行為Image,

第二行為Text,

第三行可以看成一個小Column,分兩塊進行布局

第四行可以看成一個小Column,分兩塊進行布局

第五行可以看作一個TextButton,

第六行可以看作一個Row,分三塊進行布局

通過上面這樣一步一步的分析后,基本上對大致的布局有了一個了解,最外層的控件大致選對(只要能實現的話,就是復雜度以及效率的問題),然后一步一步的拆解每一行的元素,如果有重復的或者覺得可以封裝出來的部分,則進行下一步。

每一行的拆解,大致也是按照這個思路來進行,因此筆者在這里就不做講解了。

在做到第三第四行的時候,發現這兩個很相似,而且設計到一些交互邏輯,筆者就想對第三第四行的這種展示進行封裝,覺得今后的布局可能會用到,因此在這一步,可以先把這一塊兒抽離出一個控件。利用TextField來實現這種輸入操作,具體的實現筆者不再詳細的描述了。

經過這一步,整體的規劃設計圖已經有了,各個組件也都有了,接下來的工作就是組裝了。

具體布局設計到一些細節的地方,例如整體Column的居中對齊(crossAxisAlignment)、間隔(Padding或Container包裹,筆者更喜歡用SizedBox占位)、居左居右居中(Align)、點擊事件(GestureDetector)以及圓角(BorderRadius)等一些特殊情況。

像第六行row是放在底部的,就可以在第六行前面增加一個Spacer()去填充空白區域。

對文字顏色大小等,可以用TextStyle直接設置。

對于輸入框的刪除按鈕,可以用Offstage這種Flutter特有的控制顯示隱藏的控件。

flutter_inappbrowser和h5交互

需求,app中使用webview和h5交互,根據h5發過來的消息,在屏幕上展示flutter組件,并且可以發送消息給h5。

首先使用的組件是flutter_WebView_plugin,這個組件不能嵌套flutter組件,所以放棄這個組件。

flutter_inappbrowser 可以實現組合布局, 所以選用了此庫, GitHub鏈接

[

分享文章:flutter旋轉展示的簡單介紹
文章位置:http://vcdvsql.cn/article44/dsdgcee.html

成都網站建設公司_創新互聯,為您提供全網營銷推廣手機網站建設、ChatGPT、標簽優化網站建設網站排名

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都定制網站網頁設計