Toggle main menu visibility
下載輕鬆架
套件下載
使用手冊
發問討論
網站地圖
:::
登入
登入
帳號
密碼
登入
:::
所有書籍
「Dart 及 flutter 初體驗」目錄
MarkDown
6-14 加入拍照功能
1. 安裝 flutter 及 Dart
2. 執行Dart
3. 關於 Dart
3-1 Dart 的資料類型
3-2 Dart 的常數
3-3 Dart 的函數
3-4 Dart 運算符
3-5 Dart 的流程控制
3-6 Dart 異常處理
3-7 Dart 的物件導向
4. 建立flutter專案
5. package資源
5-1 HTTP請求
5-2 HTTP Client 請求
6. 各種常用技巧
6-1 開權限
6-2 取得螢幕大小+圓角矩形
6-2-1 Container 陰影
6-3 常用文字外觀設定
6-3-1 加入文字邊框
6-4 使用dio來取得API資料
6-5 從遠端抓資料後,塞入可延伸的 ListView 中
6-6 點擊跳出對話框
6-7 用路由切換頁面
6-8 漸層底色
6-8-1 漸層外框按鈕
6-9 中文直書
6-10 讀取 json 檔
6-10-1 json 序列化
6-11 表單
6-11-1 從陣列產生下拉選單的值
6-11-2 設定按鈕顏色
6-12 橫向無限選軸
6-13 父 Widget管理子 Widget的狀態
6-14 加入拍照功能
6-14-1 加入底部彈框選擇拍照或相簿
6-14-2 把 list 抽出整理再塞回 list 中
6-14-3 把 map 抽出整理再塞回 list 中
6-15 加入連結
6-16 倒數計時做某件事
6-17 AppBar 加入底圖或用圖片當標題
7. 常用套件
8. 打包
6-14-2 把 list 抽出整理再塞回 list 中
Dart 及 flutter 初體驗 ================== ```dart import 'package:flutter/material.dart'; import 'dart:io'; import 'package:image_picker/image_picker.dart'; void main() { runApp(MyApp()); } class MyApp extends StatelessWidget { // This widget is the root of your application. @override Widget build(BuildContext context) { return MaterialApp( title: '拍照', theme: ThemeData( primarySwatch: Colors.blue, ), home: PhotoPage(title: '拍照App'), ); } } class PhotoPage extends StatefulWidget { PhotoPage({Key key, this.title}) : super(key: key); final String title; @override _PhotoPageState createState() => _PhotoPageState(); } class _PhotoPageState extends State
{ File _image; final picker = ImagePicker(); Future getImage(bool isTakePhoto) async { //去除底部彈框 Navigator.pop(context); final pickedFile = await picker.getImage(source: isTakePhoto?ImageSource.camera:ImageSource.gallery); setState(() { if (pickedFile != null) { _image = File(pickedFile.path); } else { print('No image selected.'); } }); } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text(widget.title), ), body: Center( child: Column( mainAxisAlignment: MainAxisAlignment.center, children:
[ Text( '相片列表', style: Theme.of(context).textTheme.headline4, ), _image == null ? Text('No image selected.') : Image.file(_image), ], ), ), floatingActionButton: FloatingActionButton( onPressed: _pickImage, tooltip: '選擇圖片', child: Icon(Icons.add_a_photo), ), // This trailing comma makes auto-formatting nicer for build methods. ); } void _pickImage() { //底部彈框 showModalBottomSheet(context: context, builder: (context)=>Container( height: 140.0, child: Column( children: [ _item('相機拍照', true), _item('從相簿選擇', false) ], ), )); } _item(String title, bool isTakePhoto) { return GestureDetector( child: ListTile( leading: Icon(isTakePhoto?Icons.camera_alt:Icons.photo_album), title:Text(title), onTap: ()=>getImage(isTakePhoto), ), ); } } ```
:::
書籍目錄
展開
|
闔起
快速登入
所有討論區
Tad Search 資料查詢
懶人框架討論區
實戰PHP7+MySQL
XOOPS輕鬆架快速上手
校園網站輕鬆架一般討論區
Booking Helper 預約助手
es_stud_sign 班級報名
es charge 學生收費管理
E-Stud import 學生名冊管理
es_after_school 課後照顧報名
es_exam 學生作業繳交
ES_panel 校務行政面板
es_timetable 課表
ES_youtube 本校影音
info_whats 網路設備記錄
jill booking 場地預約
jill_notice 臨時公告
jill query 簡易查詢
jill receipt 領據填報
kw club 社團報名
kw device 設備借用管理系統
ntpc_oprnid 新北市 OpenID 登入
TinyD嵌入內容模組
ugm contact us 聯絡我們
ugm page 自訂頁面
ugm table 萬用表格
Yaoh Servicelearning 服務學習管理系統
dummy 自訂模組
soone_submit 投稿模組
Tad Adm 站長工具箱
Tad Assignment 作業上傳展示模組
Tad Blocks 進階區塊管理
Tad Book3 線上書籍
Tad Cal 行事曆
Tad Cbox 即時留言簿
Tad Discuss 討論區模組
Tad Embed 崁入模組
Tad Evaluation 評鑑檔案管理
Tad Form 萬用表單模組
Tad FAQ 常見問答
Tad Google 相簿
Tad Gallery 電子相簿
Tad Guide 安裝精靈
Tad Honor 榮譽榜
Tad idioms 背背成語
Tad Link 好站連結
Tad Login 快速登入
Tad Lunch3 午餐資訊
Tad Lunch2 營養午餐公告
Tad Meeting 會議系統
Tad Merage 線上合併套印
Tad News 本站消息
Tad Player 影音播放
Tad RSS 友站新聞
Tad Repair 維修通報
Tad SiteMap網站地圖
Tad Timeline 重要紀事
Tad Themes 佈景管理
Tad Tools 工具包
Tad TV 直播電視
Tad Uploader 檔案上傳模組
Tad Users 大量會員管理
Tad Web 多人網頁模組
MyTabs 我的頁籤
Random Quote 隨機小語
LogCounterX 網站流量統計
Yaoh light 多區塊多層次跑馬燈模組
校園網站輕鬆架功能建議區
佈景討論區
即時留言簿
search
進階搜尋
計數器
今天:
昨天:
總計: