Flutter AbsorbPointer 와 IgnorePointer 의 차 이 를 분석 합 니 다.
Flutter 는 플랫폼 간 모 바 일 앱 구축 을 위 한 Google 의 새로운 SDK 입 니 다.안 드 로 이 드 와 iOS 플랫폼 에서 모두 실행 할 수 있 는 코드 를 쓰 세 요.
AbsorbPointer
AbsorbPointer 는 사용자 의 입력 을 금지 하 는 컨트롤 입 니 다.예 를 들 어 버튼 의 클릭,입력 상자 의 입력,ListView 의 스크롤 등 이 있 습 니 다.버튼 의
onPressed을 null 로 설정 하 는 것 과 같이 실현 할 수 있 습 니 다.그렇지만 AbsorbPointer 는 여러 구성 요소 에 대한 통 일 된 제어 제 를 제공 할 수 있 습 니 다.모든 구성 요소 에 대한 설정 이 필요 하지 않 습 니 다.용법 은 다음 과 같다.
AbsorbPointer(
 child: Row(
  children: <Widget>[
   RaisedButton(onPressed: (){},),
   RaisedButton(onPressed: (){},),
   RaisedButton(onPressed: (){},),
   RaisedButton(onPressed: (){},),
  ],
 ),
)
AbsorbPointer(
 absorbing: false,
 ...
)IgnorePointer 의 용법 은 AbsorbPointer 와 같 고 효과 가 같 습 니 다.용법 은 다음 과 같 습 니 다.
IgnorePointer(
 child: Row(
  children: <Widget>[
   RaisedButton(onPressed: (){},),
   RaisedButton(onPressed: (){},),
   RaisedButton(onPressed: (){},),
   RaisedButton(onPressed: (){},),
  ],
 ),
)absorbing자체 가 클릭 이 벤트 를 받 아들 일 수 있 고 이 벤트 를 소모 할 수 있 으 며AbsorbPointer클릭 이 벤트 를 받 아들 일 수 없습니다.그 아래 의 컨트롤 은 클릭 이벤트(하위 컨트롤 이 아 닌)를 받 아들 일 수 있 습 니 다.2 개의 상자 가 있 으 면 200 x200 의 빨간색 상자,100 x100 의 파란색 상자 가 있 습 니 다.파란색 상 자 는 빨간색 상자 위 에 가운데 에 표시 되 고 2 개의 상자 에 클릭 이 벤트 를 추가 합 니 다.다음 과 같 습 니 다.
return Container(
   height: 200,
   width: 200,
   child: Stack(
    alignment: Alignment.center,
    children: <Widget>[
     Listener(
      onPointerDown: (v) {
       print('click red');
      },
      child: Container(
       color: Colors.red,
      ),
     ),
     Listener(
      onPointerDown: (v) {
       print('click red');
      },
      child: Container(
       color: Colors.blue,
       width: 100,
       height: 100,
      ),
     ),
    ],
   ),
  );
flutter: click blue
flutter: click redIgnorePointer로 감 싸 줍 니 다.
return Container(
 height: 200,
 width: 200,
 child: Stack(
  alignment: Alignment.center,
  children: <Widget>[
   Listener(
    onPointerDown: (v) {
     print('click red');
    },
    child: Container(
     color: Colors.red,
    ),
   ),
   Listener(
    onPointerDown: (v) {
     print('click blue self');
    },
    child: AbsorbPointer(
     child: Listener(
      onPointerDown: (v) {
       print('click blue child');
      },
      child: Container(
       color: Colors.blue,
       width: 100,
       height: 100,
      ),
     ),
    ),
   ),
  ],
 ),
);
flutter: click blue selfAbsorbPointer자체 가 클릭 이 벤트 를 받 았 습 니 다.AbsorbPointer을AbsorbPointer로 바 꾸 고 다음 과 같이 인쇄 합 니 다.
flutter: click red필드 사용
1.업무 수요 에 따라 여러 구성 요 소 를 사용 하지 않 거나 사용 합 니 다.
2.업무 수요 에 따라 전체 앱 을 사용 하지 않 거나 사용 합 니 다.
커 뮤 니 케 이 션
Github 주소:https://github.com/781238222/flutter-do
170+구성 요소 상세 용법:http://laomengit.com
총결산
Flutter AbsorbPointer 와 IgnorePointer 의 차 이 를 분석 한 이 글 은 여기까지 입 니 다.Flutter AbsorbPointer 와 IgnorePointer 의 차이 점 에 대해 서 는 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 응원 부 탁 드 리 겠 습 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
【Flutter】DateTime 전월의 일수를 취득한다달의 일수를 취득할 필요가 있어, 의외로 수요 있을까라고 생각했으므로 비망록 정도에 남겨 둡니다. DateTime 날짜에 0을 입력하면 전월 DateTime이 됩니다. 2021년 3월 0일 = 2021년 2월 28일...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.