{"id":19273062,"url":"https://github.com/fluttercandies/extra_hittest_area","last_synced_at":"2025-08-24T08:30:39.369Z","repository":{"id":56828607,"uuid":"399105424","full_name":"fluttercandies/extra_hittest_area","owner":"fluttercandies","description":"Manually add the extra hitTest area of a widget without changing its size or layout.","archived":false,"fork":false,"pushed_at":"2024-12-12T11:33:45.000Z","size":168,"stargazers_count":18,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-12-12T12:32:18.324Z","etag":null,"topics":["flutter","hittest"],"latest_commit_sha":null,"homepage":"","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fluttercandies.png","metadata":{"files":{"readme":"README-ZH.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"custom":"http://zmtzawqlp.gitee.io/my_images/images/qrcode.png"}},"created_at":"2021-08-23T13:02:27.000Z","updated_at":"2024-12-12T11:33:50.000Z","dependencies_parsed_at":"2024-06-28T06:50:03.864Z","dependency_job_id":null,"html_url":"https://github.com/fluttercandies/extra_hittest_area","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fluttercandies%2Fextra_hittest_area","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fluttercandies%2Fextra_hittest_area/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fluttercandies%2Fextra_hittest_area/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fluttercandies%2Fextra_hittest_area/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fluttercandies","download_url":"https://codeload.github.com/fluttercandies/extra_hittest_area/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230785858,"owners_count":18279936,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["flutter","hittest"],"created_at":"2024-11-09T20:40:41.055Z","updated_at":"2025-08-24T08:30:39.360Z","avatar_url":"https://github.com/fluttercandies.png","language":"Dart","funding_links":["http://zmtzawqlp.gitee.io/my_images/images/qrcode.png"],"categories":[],"sub_categories":[],"readme":"# extra_hittest_area\n\n[![pub package](https://img.shields.io/pub/v/extra_hittest_area.svg)](https://pub.dartlang.org/packages/extra_hittest_area) [![GitHub stars](https://img.shields.io/github/stars/fluttercandies/extra_hittest_area)](https://github.com/fluttercandies/extra_hittest_area/stargazers) [![GitHub forks](https://img.shields.io/github/forks/fluttercandies/extra_hittest_area)](https://github.com/fluttercandies/extra_hittest_area/network)  [![GitHub license](https://img.shields.io/github/license/fluttercandies/extra_hittest_area)](https://github.com/fluttercandies/extra_hittest_area/blob/master/LICENSE)  [![GitHub issues](https://img.shields.io/github/issues/fluttercandies/extra_hittest_area)](https://github.com/fluttercandies/extra_hittest_area/issues) \u003ca href=\"https://qm.qq.com/q/ZyJbSVjfSU\"\u003e![FlutterCandies QQ 群](https://img.shields.io/badge/dynamic/yaml?url=https%3A%2F%2Fraw.githubusercontent.com%2Ffluttercandies%2F.github%2Frefs%2Fheads%2Fmain%2Fdata.yml\u0026query=%24.qq_group_number\u0026label=QQ%E7%BE%A4\u0026logo=qq\u0026color=1DACE8)\n\nLanguage: [English](README.md) | 中文简体\n\n增加额外的 hitTest 区域，而不影响本身的大小和布局。\n\n## 父 widgets\n\n跟官方的 widgets 一样，使用它们来保证，当额外 hitTest 区域超出了父 widget的大小的时候，一样能接收到 hitTest。\n\n\n* `StackHitTestWithoutSizeLimit`\n* `RowHitTestWithoutSizeLimit`, `ColumnHitTestWithoutSizeLimit`, `FlexHitTestWithoutSizeLimit`\n* `SizedBoxHitTestWithoutSizeLimit`\n  \n\n## 监听点击事件的 widgets\n\n* `GestureDetectorHitTestWithoutSizeLimit`\n* `RawGestureDetectorHitTestWithoutSizeLimit`\n* `ListenerHitTestWithoutSizeLimit`\n\n\n| parameter             | description                      | default         |\n| --------------------- | -------------------------------- | --------------- |\n| extraHitTestArea      | 额外增加的 hitTest 区域          | EdgeInsets.zero |\n| debugHitTestAreaColor | 用于 debug 的 hitTest 区域背景色 | null            |\n\n你可以设置 `ExtraHitTestBase.debugGlobalHitTestAreaColor` 来替代在每个监听 widgets 中单独设置 `debugHitTestAreaColor`\n\n```dart\nreturn GestureDetectorHitTestWithoutSizeLimit(\n  child: mockButtonUI(text),\n  //debugHitTestAreaColor: Colors.pink.withOpacity(0.4),\n  extraHitTestArea: const EdgeInsets.all(16),\n  onTap: () {\n    showToast('$text:onTap${i++}',\n        duration: const Duration(milliseconds: 500));\n  },\n);\n```\n\n## 实现其他的 HitTestWithoutSizeLimit\n\n如果这个 package 没有你需要的 widgets ， 你可以使用下面的类自己实现。\n\n* `RenderBoxHitTestWithoutSizeLimit`, `RenderBoxChildrenHitTestWithoutSizeLimit`\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffluttercandies%2Fextra_hittest_area","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffluttercandies%2Fextra_hittest_area","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffluttercandies%2Fextra_hittest_area/lists"}