添加上传视频页面

master
laiiihz 5 years ago
parent acf298b3ee
commit 8f0b1ef2b8

@ -2,12 +2,17 @@ import 'dart:io';
import 'package:camera/camera.dart';
import 'package:flutter/material.dart';
import 'package:oktoast/oktoast.dart';
import 'package:path/path.dart';
import 'package:path_provider/path_provider.dart';
import 'package:image_picker/image_picker.dart';
import 'package:recook/constants/header.dart';
import 'package:recook/main.dart';
import 'package:recook/pages/live/live_stream/crop_video_page.dart';
import 'package:recook/pages/live/widget/local_file_video.dart';
import 'package:recook/pages/live/widget/video_record_button.dart';
import 'package:recook/utils/custom_route.dart';
import 'package:recook/widgets/custom_image_button.dart';
class AddVideoPage extends StatefulWidget {
@ -189,7 +194,21 @@ class _AddVideoPageState extends State<AddVideoPage> {
child: Text('确定'),
)
: CustomImageButton(
onPressed: () {},
onPressed: () {
ImagePicker()
.getVideo(source: ImageSource.gallery)
.then((file) {
if (file == null ||
TextUtils.isEmpty(file.path)) {
showToast('没有选择文件');
} else {
CRoute.pushReplace(
context,
CropVideoPage(file: File(file.path)),
);
}
});
},
child: Column(
children: [
Container(

@ -0,0 +1,49 @@
import 'dart:io';
import 'package:flutter/material.dart';
import 'package:recook/constants/constants.dart';
import 'package:recook/widgets/custom_app_bar.dart';
import 'package:recook/widgets/recook_back_button.dart';
class CropVideoPage extends StatefulWidget {
final File file;
CropVideoPage({Key key, @required this.file}) : super(key: key);
@override
_CropVideoPageState createState() => _CropVideoPageState();
}
class _CropVideoPageState extends State<CropVideoPage> {
@override
void initState() {
super.initState();
}
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Color(0xFF232323),
appBar: CustomAppBar(
appBackground: Color(0xFF232323),
leading: RecookBackButton(white: true),
actions: [
Center(
child: SizedBox(
width: rSize(72),
height: rSize(28),
child: MaterialButton(
child: Text('确定'),
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(rSize(14)),
),
onPressed: () {},
color: Color(0xFFFA3B3E),
),
),
),
SizedBox(width: rSize(15)),
],
),
);
}
}

@ -16,6 +16,10 @@ class CRoute {
await Navigator.push(context, _cPageRoute(context, page));
}
static Future pushReplace(BuildContext context, Widget page) async {
await Navigator.pushReplacement(context, _cPageRoute(context, page));
}
///
static popBottom(BuildContext context) {
if (Navigator.canPop(context)) {

Loading…
Cancel
Save