আমি মনে করি ধারকটিতে রঙ যুক্ত করা কালি প্রভাবকে coveringেকে রাখছে
https://docs.flutter.io/flutter/matory/InkWell/InkWell.html
এই কোডটি কাজ করছে বলে মনে হচ্ছে
body: new Center(
child: new Container(
child: new Material(
child: new InkWell(
onTap: (){print("tapped");},
child: new Container(
width: 100.0,
height: 100.0,
),
),
color: Colors.transparent,
),
color: Colors.orange,
),
),
শুধু মাঝের বর্গাকারে ক্লিক করুন।
সম্পাদনা: আমি বাগ রিপোর্টটি পেয়েছি। https://github.com/flutter/flutter/issues/3782
এটি প্রকৃতপক্ষে প্রত্যাশার মতো, যদিও আমাদের ডক্সটিকে আরও পরিষ্কার করার জন্য আপডেট করা উচিত।
যা চলছে তা মেটেরিয়াল স্পেক বলছে যে স্প্ল্যাশগুলি বস্তুগুলিতে আসলে কালি k সুতরাং যখন আমরা স্প্ল্যাশ করি তখন আমরা যা করি তা হ'ল আক্ষরিক অর্থে মেটেরিয়াল উইজেটটি স্প্ল্যাশ করে। আপনার যদি সামগ্রীর শীর্ষে কিছু থাকে তবে আমরা এর নীচে স্প্ল্যাশ করি এবং আপনি এটি দেখতে পারবেন না।
আমি একটি "ম্যাটারিয়াল ইমেজ" উইজেট যুক্ত করতে চেয়েছি যা ধারণাগতভাবে এর চিত্রটি উপাদানটিতে প্রিন্ট করে দেয় যাতে স্প্ল্যাশগুলি চিত্রের উপরে চলে যায়। আমাদের কাছে একটি ম্যাটারিয়ালডেকোরেশন থাকতে পারে যা একটি সজ্জার জন্য অনুরূপ কিছু করে। অথবা আমরা মেটেরিয়াল নিজেই একটি সজ্জা নিতে পারে। এই মুহূর্তে এটি একটি রঙ নেয়, তবে আমরা এটি পুরো সজ্জায় গ্রহণ করতে প্রসারিত করতে পারি। এটি গ্রেডিয়েন্টের সাথে কোনও উপাদান রাখার জন্য এটি সত্যই উপাদান-অনুষঙ্গ-সামঞ্জস্যপূর্ণ কিনা তা পরিষ্কার নয়, সুতরাং আমাদের এটি করা উচিত কিনা তা সম্পর্কে আমি নিশ্চিত নই।
খুব অল্প সময়ে, যদি আপনার কেবলমাত্র কাজের প্রয়োজন হয় তবে আপনি "স্বচ্ছতা" প্রকারটি ব্যবহার করার জন্য সেট সেট করে পাত্রে উপরে একটি উপাদান রাখতে পারেন এবং তারপরে কালিটি ভালভাবে রেখে দিতে পারেন।
--hixie
আপডেট: হিক্সি গত বছর একটি নতুন কালি সমাধানকে মার্জ করেছে। কালি চিত্রগুলির উপর স্প্ল্যাশ করার জন্য একটি সুবিধাজনক উপায় সরবরাহ করে।
testWidgets('Does the Ink widget render anything', (WidgetTester tester) async {
await tester.pumpWidget(
new Material(
child: new Center(
child: new Ink(
color: Colors.blue,
width: 200.0,
height: 200.0,
child: new InkWell(
splashColor: Colors.green,
onTap: () { },
),
),
),
),
);
Material(
color: Colors.grey[800],
child: Center(
child: Ink.image(
image: AssetImage('cat.jpeg'),
fit: BoxFit.cover,
width: 300.0,
height: 200.0,
child: InkWell(
onTap: () { },
child: Align(
alignment: Alignment.topLeft,
child: Padding(
padding: const EdgeInsets.all(10.0),
child: Text('KITTEN', style: TextStyle(fontWeight: FontWeight.w900, color: Colors.white)),
),
)
),
),
),
)
দয়া করে দ্রষ্টব্য: আমি নতুন কালি উইজেট পরীক্ষা করিনি। আমি কালি_পেন্ট_েস্ট.ডার্ট এবং কালি শ্রেণীর ডক্স থেকে কোডটি অনুলিপি করেছি
https://github.com/Hixie/flutter/blob/1f6531984984f52328e66c0cd500a8d517964564/packages/flutter/test/matory/ink_paint_test.dart
https://github.com/flutter/flutter/pull/13900
https://api.flutter.dev/flutter/matory/Ink-class.html
Material
নিজেই এবং ছেড়েContainer
।