#flutter #listview #dart #camera
#трепетание #listview #dart #камера
Вопрос:
Помните, что это 3-я страница, на которой я хочу, чтобы мой onPressed открывал камеру и обрезал изображение.
Скажите мне код как для Android, так и для Ios.
import 'package:flutter/material.dart';
import 'package:telemed/pages/size_config.dart';
import 'strings.dart';
import 'package:camera/camera.dart';
class User extends StatefulWidget {
List<CameraDescription> cameras;
Future<void> main() async {
runApp(); // what to write here instead of all this code.it is my 3rd page of flutter
WidgetsFlutterBinding.ensureInitialized();
final cameras = await availableCameras();
@override
_PatientState createState() => _UserState();
}
class _UserState extends State<User> {
@override
Widget build(BuildContext context) {
return Scaffold(
body: CustomScrollView(
slivers: <Widget>[
Container(
child: SliverList(
delegate: SliverChildBuilderDelegate((context, index) {
return Container(
alignment: Alignment.center,
color: Colors.white,
child: Text('Patient ${index}'),
height: 120,
margin: EdgeInsets.all(1),
);
}, childCount: 20),
),
)
],
));
} // please ignore any extra curly braces...
}
моя главная цель состоит в том, чтобы пользователь касался моего sliverListview (например, whatsapp, но открывает камеру, чтобы обрезать документ, щелкнутый с помощью камеры, вместо чата).
Ответ №1:
Пожалуйста, прочитайте соответствующую документацию Flutter о виджетах, затем прочитайте camera
документацию пакета.
Настройте свой проект на поддержку доступа к камере и библиотеке фотографий в соответствии с документацией.
Затем вы можете обернуть свой Container
InkWell
виджет и использовать его onTap
обратный вызов, чтобы затем вызвать initialize
метод на вашем CameraController
.
camera
Пакет построен с поддержкой как Android, так и iOS, поэтому написанный вами код Flutter будет работать на обеих платформах.
Вы можете использовать image_crop
flutter_native_image
пакеты или для обрезки результирующего изображения.
Я надеюсь, вы не ожидаете, что я (или кто-либо еще) напишу все приложение для вас.