https://github.com/fluttercandies/extra_hittest_area
Manually add the extra hitTest area of a widget without changing its size or layout.
https://github.com/fluttercandies/extra_hittest_area
flutter hittest
Last synced: 10 months ago
JSON representation
Manually add the extra hitTest area of a widget without changing its size or layout.
- Host: GitHub
- URL: https://github.com/fluttercandies/extra_hittest_area
- Owner: fluttercandies
- License: mit
- Created: 2021-08-23T13:02:27.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2024-12-12T11:33:45.000Z (over 1 year ago)
- Last Synced: 2024-12-12T12:32:18.324Z (over 1 year ago)
- Topics: flutter, hittest
- Language: Dart
- Homepage:
- Size: 164 KB
- Stars: 18
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README-ZH.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Codeowners: CODEOWNERS
Awesome Lists containing this project
README
# extra_hittest_area
[](https://pub.dartlang.org/packages/extra_hittest_area) [](https://github.com/fluttercandies/extra_hittest_area/stargazers) [](https://github.com/fluttercandies/extra_hittest_area/network) [](https://github.com/fluttercandies/extra_hittest_area/blob/master/LICENSE) [](https://github.com/fluttercandies/extra_hittest_area/issues) 
Language: [English](README.md) | 中文简体
增加额外的 hitTest 区域,而不影响本身的大小和布局。
## 父 widgets
跟官方的 widgets 一样,使用它们来保证,当额外 hitTest 区域超出了父 widget的大小的时候,一样能接收到 hitTest。
* `StackHitTestWithoutSizeLimit`
* `RowHitTestWithoutSizeLimit`, `ColumnHitTestWithoutSizeLimit`, `FlexHitTestWithoutSizeLimit`
* `SizedBoxHitTestWithoutSizeLimit`
## 监听点击事件的 widgets
* `GestureDetectorHitTestWithoutSizeLimit`
* `RawGestureDetectorHitTestWithoutSizeLimit`
* `ListenerHitTestWithoutSizeLimit`
| parameter | description | default |
| --------------------- | -------------------------------- | --------------- |
| extraHitTestArea | 额外增加的 hitTest 区域 | EdgeInsets.zero |
| debugHitTestAreaColor | 用于 debug 的 hitTest 区域背景色 | null |
你可以设置 `ExtraHitTestBase.debugGlobalHitTestAreaColor` 来替代在每个监听 widgets 中单独设置 `debugHitTestAreaColor`
```dart
return GestureDetectorHitTestWithoutSizeLimit(
child: mockButtonUI(text),
//debugHitTestAreaColor: Colors.pink.withOpacity(0.4),
extraHitTestArea: const EdgeInsets.all(16),
onTap: () {
showToast('$text:onTap${i++}',
duration: const Duration(milliseconds: 500));
},
);
```
## 实现其他的 HitTestWithoutSizeLimit
如果这个 package 没有你需要的 widgets , 你可以使用下面的类自己实现。
* `RenderBoxHitTestWithoutSizeLimit`, `RenderBoxChildrenHitTestWithoutSizeLimit`