[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.

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

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

人気No.1

前向きな気持ちになれる 占星術・タロットリーディング

あすコロ式・相談サロン 【ナビるやん】

人に言えない悩みから使命・運勢診断まで、あなたに寄り添いながら“ナビゲート”する、あすコロ人気No.1のオンライン相談サロン。占星術・心理学・タロットの叡智を活かし、普段認識していない「潜在意識」にアクセスしてあなたの気づいていない可能性を拓かせ、明日から前向きに歩めるようになる60分のリーディングセッション。

今すぐ詳細を見る(メルマガ登録で初回半額) ▶

TOP