Skip to main content

共用函式

showToast#

顯示 Android 風格的 toast 提示字

參數名稱型態描述
contextBuildContextFlutter Widget context
messageString想要顯示的文字
gravityint顯示位置,預設為 Toast.bottom

pushCupertinoStyle#

Cupertino 風格開啟頁面

注意

目前已在 ApTheme 加入全域的設定,實作採用 MaterialPageRoute,未來可能棄用

參數名稱型態描述
contextBuildContextFlutter Widget context
pageWidget開啟頁面

launchUrl#

開啟 URL,以 url_launcher 實作

注意

Android 11 以後已不支援 canLaunch 故不會進行例外處理

參數名稱型態描述
urlStringURL

callPhone#

播打電話,會將 #xxx(yyy) 格式更改成 tel:xxx,yyy,以 url_launcher 實作

注意

Android 11 以後已不支援 canLaunch 故不會進行例外處理

參數名稱型態描述
urlStringURL

shareTo#

呼叫原生分享功能,以 share_plus 實作

分享格式

${分享內容}\n\nSend from ${App名稱} ${作業系統名稱}
參數名稱型態描述
contentString分享內容
注意

因為在 iPad 使用者會有圖層錯誤,需要另外加上此程式碼,詳細可參考

final box = context.findRenderObject() as RenderBox?;
final box = context.findRenderObject() as RenderBox?;
ApUtils.shareTo(
'Sharing Content',
sharePositionOrigin: box!.localToGlobal(Offset.zero) & box.size,
);

launchFbFansPage#

開啟 Facebook 粉絲專頁,會先以 app link 方式開啟,失敗才會以瀏覽器開啟,以 url_launcher 實作

參數名稱型態描述
contextBuildContextFlutter Widget context
fansPageIdString粉絲專頁 id

showAppReviewDialog#

Dialog 樣式是否為App評分,同意並呼叫 openAppReview

參數名稱型態描述
contextBuildContextFlutter Widget context
defaultUrlString無原生API則開啟網址

showAppReviewSheet#

BottomSheet 樣式是否為App評分,同意並呼叫 openAppReview

參數名稱型態描述
contextBuildContextFlutter Widget context
defaultUrlString無原生API則開啟網址

openAppReview#

開啟原生評分功能,若無原生API則開啟 defaultUrl,以 in_app_review 呼叫原生評分 API,支援 AndroidiOSmacOS,其他平台以 url_launcher 開啟連結

參數名稱型態描述
defaultUrlString無原生API則開啟網址

pickImage#

挑選照片/圖片,Android/iOS/Web 使用 image_picker 實作,macOS/Windows/Linux 使用 file_selector 實作,

參數名稱型態描述
imageSourceImageSource圖片來源,平台為 Android/iOS/Web 有效,ImageSource.gallery 代表使用相簿取得,ImageSource.camera 代表使用鏡頭拍攝
preferredCameraDeviceCameraDevice鏡頭來源,需 imageSource 設定 ImageSource.camera才有效,平台為 Android/iOS/Web 有效,CameraDevice.front 代表前鏡頭,CameraDevice.rear 代表後鏡頭,預設值為 CameraDevice.front
extensionsList<String>?限制副檔名,平台為 macOS/Windows/Linux 有效,預設值為 ['jpg', 'jpeg']

saveImage#

AndroidiOS 使用 photo_manager 實作

macOS/Windows/Linux 使用 path_provider

實作細節可參考原專案

參數名稱型態描述
contextBuildContextFlutter Widget context
byteDataByteData影像的位元資料
fileNameString檔案名稱
successMessageString儲存成功訊息