FLUS - 9 week

Chance·2022년 10월 30일
0

[Flutter]

Non-material Components widgets - PageView

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'),
        ),
      ],
    );
  }
}

[Flutter]

Non-material Components widgets - Draggable

  • DragTarget 에서 드래그할 수 있는 위젯입니다 .

  • 드래그 가능한 위젯이 드래그 제스처의 시작을 인식하면 화면에서 사용자의 손가락을 추적 하는 피드백 위젯을 표시합니다.
    사용자가 DragTarget 위에 있는 동안 손가락을 떼면 해당 대상은 draggable이 전달 하는 데이터 를 수락할 기회가 주어집니다 .

  • ignoringFeedbackPointer 의 기본값은 true로 설정되며, 이는 피드백 위젯이 적중 테스트 중에 포인터를 무시함을 의미합니다.
    마찬가지로, FeedbackSemantics 무시 는 기본적으로 true로 설정되고 피드백 은 의미 체계 트리를 구축할 때 의미 체계도 무시합니다.

  • 멀티터치 장치에서는 한 번에 장치와 접촉하는 여러 포인터가 있을 수 있으므로 여러 드래그가 동시에 발생할 수 있습니다.
    동시 끌기 수를 제한하려면 maxSimultaneousDrags 속성을 사용하십시오. 기본값은 무제한 동시 끌기를 허용하는 것입니다.

이 위젯 은 제로 드래그가 진행 중일 때 자식 을 표시합니다.
childWhenDragging 이 null이 아닌 경우 이 위젯 은 하나 이상의 드래그가 진행 중일 때 대신 childWhenDragging 을 표시합니다. 그렇지 않으면 이 위젯은 항상 child 를 표시합니다 .

0개의 댓글