欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

flutter方向,flutter介紹

Flutter了解之手勢

描述了屏幕上指針(觸摸、鼠標、觸控筆)的位置和移動。

在張家界等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務理念,為客戶提供成都網(wǎng)站制作、成都網(wǎng)站設計 網(wǎng)站設計制作定制制作,公司網(wǎng)站建設,企業(yè)網(wǎng)站建設,品牌網(wǎng)站設計,網(wǎng)絡營銷推廣,成都外貿(mào)網(wǎng)站建設公司,張家界網(wǎng)站建設費用合理。

Flutter中可以使用Listener(功能性組件)來監(jiān)聽原始觸摸事件

例1

例2

例3

忽略PointerEvent

手勢: 描述由一個或多個指針移動組成的語義動作,如拖動、縮放、雙擊等。

Material大多數(shù)widget已經(jīng)對tap或手勢做出了響應。 例如 IconButton和 FlatButton 響應單擊,ListView響應滑動事件觸發(fā)滾動。

用于手勢識別的功能性組件,通過它可以來識別各種手勢。

例(單擊)

例(添加Material觸摸水波效果 InkWell組件)

例(滑動關(guān)閉 Dismissable組件)

例(單擊、雙擊、長按)

例(滑動)

例(掃動---單一方向)

例(縮放)

GestureRecognizer是一個抽象類。

一種手勢的識別器對應一個GestureRecognizer的子類。

由于手勢競爭最終只有一個勝出者,所以,當有多個手勢識別器時,可能會產(chǎn)生沖突。

在APP中經(jīng)常會需要一個廣播機制,用以跨頁面通知。比如一個需要登錄的APP中,頁面會關(guān)注用戶登錄或注銷事件,來進行一些狀態(tài)更新。

這時候,一個事件總線便會非常有用,事件總線通常實現(xiàn)了訂閱者模式,訂閱者模式包含發(fā)布者和訂閱者兩種角色,可以通過事件總線來觸發(fā)事件和監(jiān)聽事件。

對于一些簡單的應用,事件總線是足以滿足業(yè)務需求的,如果決定使用狀態(tài)管理包的話,一定要想清楚APP是否真的有必要使用它,防止“化簡為繁”、過度設計。

在widget樹中,每一個節(jié)點都可以分發(fā)通知,通知會沿著當前節(jié)點向上傳遞,所有父節(jié)點都可以通過NotificationListener來監(jiān)聽通知。

Flutter中將這種由子向父的傳遞通知的機制稱為通知冒泡(Notification Bubbling)。

通知冒泡和用戶觸摸事件冒泡是相似的,但有一點不同:通知冒泡可以中止,但用戶觸摸事件不行。

通知冒泡和Web開發(fā)中瀏覽器事件冒泡原理是相似的,都是事件從出發(fā)源逐層向上傳遞,可以在上層節(jié)點任意位置來監(jiān)聽通知/事件,也可以終止冒泡過程,終止冒泡后,通知將不會再向上傳遞。

Flutter的UI框架實現(xiàn)中,除了在可滾動組件在滾動過程中會發(fā)出ScrollNotification之外,還有一些其它的通知,如SizeChangedLayoutNotification、KeepAliveNotification 、LayoutChangedNotification等,F(xiàn)lutter正是通過這種通知機制來使父元素可以在一些特定時機來做一些事情。

阻止冒泡

通知冒泡原理

Flutter初學 —— 常用控件使用

在編寫幾個 Flutter 項目后,發(fā)現(xiàn) Flutter 的強大之處在于業(yè)務中所有用到的控件以及場景都有對應的處理方案;而 Dart 語言也與 Java 、 Kotlin 類似,所以對 Android 開發(fā)者來說門檻非常低;特意記錄一下常用的控件及其使用:

StatelessWidget 不需要額外的創(chuàng)建 State

StatefulWidget 創(chuàng)建 State 類,并可以在其中保存一些狀態(tài)

only 可以單獨設置每個方向的內(nèi)邊距

類似于 LinearLayout 中的 orientation 設置為 vertical , mainAxisAlignment 表示豎向的一個對齊方式, crossAxisAlignment 表示橫向的對齊方式

與 Column 相反,主軸是橫向,對齊方式類似, crossAxisAlignment 表示豎向的對齊方式

類似 SizedBox ,一個容器,但是主要功能是有一個 decoration —— 裝飾器,作用是繪制背景,或者使用 item 中的陰影

棧,先入后出,類似于 Android 上的 FrameLayout

通常配合 Stack 使用,固定顯示在某一個位置

配合多 child 使用,會填充剩余的空間

Image 功能強大,使用不同的方法可以加載不同來源的圖片

看到這些方法,突然覺得 Flutter 太香了,而且 Image 可以配置 clip 等裁剪出不同形狀的圖片,無論是圓形還是五角星都不在話下,然而 Android 要實現(xiàn)不規(guī)則的形狀,可是要下不少功夫的。

名字和 Android 的一模一樣,但是用法卻比 Android 的簡單很多:

主要就是 itemCount 與 itemBuilder ,其余就是配置樣式, itemBuilder 需要返回一個 widget ,當然了,每個 ListView 都有其對應的 item ,在里面的方法中編寫 widget 即可

與 ListView 類似,但是需要有一個 delegate 類,作用是設置有多少列,每一列之間的間距是多少

GridView 沒有 build , children 表示所有的子 view

最常用的控件之一,有非常多的樣式, Flutter 中通常是使用裝飾器來處理控件的,如背景使用 BoxDecoration , TextFiled 使用 InputDecoration ; 使用如下

在Flutter中如何修改屏幕的方向

首先,你需要導入 services 包 :

我們可以通過 SystemChrome 這個類的 setPreferredOrientations方法來設置屏幕方向。

setPreferredOrientations()方法,參數(shù)是一個數(shù)組 ,我們可以設置多個方向(定義在 DeviceOrientation 枚舉類中)。

在Flutter中主函數(shù)入口是 main()方法,如果我們想設置整個應用的屏幕方向,在runApp()方法之前設置即可。

注意 : 設置屏幕方法調(diào)用之前,需要調(diào)用一下 binding 的初始化方法(先記住即可)

landscapeLeft or landscapeRight 可以設置一個或者兩個,效果試一下就知道了

設置屏幕垂直方向 :

動態(tài)改變屏幕方向 :

獲取當前屏幕方向 :

參考 :

(自備梯子)

如果覺得文章有用,幫忙點個喜歡?? ,???????????? 贈人玫瑰,手留余香

當前標題:flutter方向,flutter介紹
本文路徑:http://chinadenli.net/article22/dsdssjc.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版云服務器建站公司動態(tài)網(wǎng)站微信小程序企業(yè)建站

廣告

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

成都網(wǎng)頁設計公司