[Flutter]InkWellはなぜMaterialで包まないとエラーになるのか(No Material Widget found)

このページには広告が含まれる場合があります。

 

Widgetをタップしたときのフィードバック効果を出すことの出来る「InkWell」というWidgetがありますが、

The highlight is a rectangle the size of the box.

この「InkWell」を使う際には、「Material」で包まないとエラーになります。つまり、こうじゃなくて

こうしてしまうと、、

エラーになります。

公式にも書いてありました。

なぜそうなのかということ、実はフィードバック効果を実際に描画するのは「InkWell」ではなくて、それを包んでいる「Material」が担うからということのようですね。

The Material widget is where the ink reactions are actually painted. This matches the material design premise wherein the Material is what is actually reacting to touches by spreading ink.

(「Material」ウィジェットは、実際にインクの反応を描く場所です。これは、タッチに反応してインクを広げるのが「Material」であるというマテリアルデザインの前提に合致しています。)

InkWellはあくまでタップしたときのフィードバック効果を出すための、Materialウィジェットにおける領域を示しているだけのようです。このあたりはFlutter内部の決まり事なので仕方ないですね。

A rectangular area of a Material that responds to touch.

(詳しくは、以下の動画で解説していますので、よろしければご覧下さい)

こんな記事も読まれています

【無料】生年月日を入力するだけ!

あなたの知らない「あなた」がわかる
無料診断ツール

あすコロ式
使命・性格タイプ診断

生年月日を入力するだけで144通りの性格パターンを診断。あなたの知らない「本当のあなた(生きる目的・使命)」と「偽りのあなた(無意識の思いグセ)」がわかります!

今すぐ無料で診断する ▶

TOP