PageController 를 사용 하여 보기에 표시되는 페이지를 제어할 수 있습니다.
PageView 내부 콘텐츠의 픽셀 오프셋을 제어할 수 있을 뿐만 아니라
PageController 를 사용하면 뷰포트 크기의 증분인 페이지 측면에서 오프셋을 제어할 수도 있습니다.
- PageController 는 PageView 가 처음 생성 될 때 표시되는 페이지를 결정하는 PageController.initialPage 와 페이지 크기를 뷰포트 크기의 일부로 결정 하는 PageController.viewportFraction 을 제어하는 데에도 사용할 수 있습니다 .
import 'package:flutter/material.dart';
void main() => runApp(const MyApp());
class MyApp extends StatelessWidget {
const MyApp({super.key});
static const String _title = 'Flutter Code Sample';
@override
Widget build(BuildContext context) {
return MaterialApp(
title: _title,
home: Scaffold(
appBar: AppBar(title: const Text(_title)),
body: const MyStatelessWidget(),
),
);
}
}
class MyStatelessWidget extends StatelessWidget {
const MyStatelessWidget({super.key});
@override
Widget build(BuildContext context) {
final PageController controller = PageController();
return PageView(
/// [PageView.scrollDirection] defaults to [Axis.horizontal].
/// Use [Axis.vertical] to scroll vertically.
controller: controller,
children: const <Widget>[
Center(
child: Text('First Page'),
),
Center(
child: Text('Second Page'),
),
Center(
child: Text('Third Page'),
),
],
);
}
}
DragTarget 에서 드래그할 수 있는 위젯입니다 .
드래그 가능한 위젯이 드래그 제스처의 시작을 인식하면 화면에서 사용자의 손가락을 추적 하는 피드백 위젯을 표시합니다.
사용자가 DragTarget 위에 있는 동안 손가락을 떼면 해당 대상은 draggable이 전달 하는 데이터 를 수락할 기회가 주어집니다 .
ignoringFeedbackPointer 의 기본값은 true로 설정되며, 이는 피드백 위젯이 적중 테스트 중에 포인터를 무시함을 의미합니다.
마찬가지로, FeedbackSemantics 무시 는 기본적으로 true로 설정되고 피드백 은 의미 체계 트리를 구축할 때 의미 체계도 무시합니다.
멀티터치 장치에서는 한 번에 장치와 접촉하는 여러 포인터가 있을 수 있으므로 여러 드래그가 동시에 발생할 수 있습니다.
동시 끌기 수를 제한하려면 maxSimultaneousDrags 속성을 사용하십시오. 기본값은 무제한 동시 끌기를 허용하는 것입니다.
이 위젯 은 제로 드래그가 진행 중일 때 자식 을 표시합니다.
childWhenDragging 이 null이 아닌 경우 이 위젯 은 하나 이상의 드래그가 진행 중일 때 대신 childWhenDragging 을 표시합니다. 그렇지 않으면 이 위젯은 항상 child 를 표시합니다 .