説明
バグレポート
IgnorePointer および関連クラスのignoreSemantics の移行ガイド
まとめ
のignoringSemantics
プロパティはで削除されますIgnorePointer
、AbsorbPointer
、SliverIgnorePointer
、RenderSliverIgnorePointer
、RenderIgnorePointer
、 とRenderAbsorbPointer
。
コンテクスト
のignoreSemantics
の結果を軽減するための回避策として導入されました。IgnorePointer
およびその関連ウィジェットはセマンティクス サブツリー全体を削除します。
したがって、この回避策は必要なくなりました。
変更内容の説明
ignoringSemantics
取り除かれた。
移行ガイド
これらのウィジェットでこのパラメータを true に設定する場合は、次の使用を検討してください。ExcludeSemantics
その代わり。
移行前のコード:
IgnorePointer(``
ignoringSemantics: true,
child: const PlaceHolder(),
);
移行後のコード:
ExcludeSemantics(
child: IgnorePointer(
child: const PlaceHolder(),
),
);
設定時の挙動ignoringSemantics
false への設定はサポートされなくなりました。
独自のカスタム ウィジェットを作成することを検討してください。
/// A widget ignores pointer event but still keeps semantics actions.
class _IgnorePointerWithSemantics extends SingleChildRenderObjectWidget {
const _IgnorePointerWithSemantics({
super.child,
});
@override
_RenderIgnorePointerWithSemantics createRenderObject(BuildContext context) {
return _RenderIgnorePointerWithSemantics();
}
}
class _RenderIgnorePointerWithSemantics extends RenderProxyBox {
_RenderIgnorePointerWithSemantics();
@override
bool hitTest(BoxHitTestResult result, { required Offset position }) => false;
}
タイムライン
リリースされたバージョン: 3.10.0-2.0.pre
安定版リリース: TBD
参考文献
関連する PR:
- PR 120619: ユーザーのみをブロックするように IgnorePointer と AbsorbPointer を修正しました a11y での相互作用。