Bence kaba renk katmak mürekkep efektini kapatıyor
https://docs.flutter.io/flutter/material/InkWell/InkWell.html
Bu kod çalışıyor gibi görünüyor
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,
),
),
sadece ortadaki kareyi tıklayın.
Düzenleme: Hata raporunu buldum. https://github.com/flutter/flutter/issues/3782
Bu aslında beklendiği gibi, ancak daha net hale getirmek için dokümanları güncellemeliyiz.
Olan şey, Materyal spesifikasyonunun, sıçramaların aslında Materyal üzerindeki mürekkep olduğunu söylemesidir. Yani sıçradığımızda, yaptığımız şey kelimenin tam anlamıyla Malzeme parçacığının sıçrama yapmasıdır. Materyalin üstünde bir şey varsa, altına sıçrarız ve onu göremezsin.
Görselini kavramsal olarak Materyal'e de yazdıran bir "MaterialImage" parçacığı eklemek istedim, böylece sıçramalar görüntünün üzerine gelsin. Bir Dekorasyon için benzer bir şey yapan bir MateryalDekorasyonumuz olabilir. Ya da Materyal'in kendisine bir dekorasyon almasını sağlayabiliriz. Şu anda bir renk alıyor, ancak bunu bütün bir dekorasyona kadar genişletebiliriz. Gradyanlı bir malzemeye sahip olmanın gerçekten malzeme spesifikasyonuna uygun olup olmadığı net değil, bu yüzden bunu yapmamız gerekip gerekmediğinden emin değilim.
Kısa vadede, sadece bir geçici çözüme ihtiyacınız varsa, kabın üstüne bir Malzeme koyabilirsiniz, malzeme "saydam" tipini kullanacak şekilde ayarlanmış ve sonra mürekkebi bunun içine iyice yerleştirebilirsiniz.
--hixie
Güncelleme: Hixie geçen yıl yeni bir Ink çözümünü birleştirdi. Mürekkep, görüntülerin üzerine sıçramak için uygun bir yol sağlar.
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)),
),
)
),
),
),
)
Lütfen Dikkat: Yeni Ink Widget'ı test etmedim. Ink_paint_test.dart ve Ink sınıfı belgelerinden kodu başardım
https://github.com/Hixie/flutter/blob/1f6531984984f52328e66c0cd500a8d517964564/packages/flutter/test/material/ink_paint_test.dart
https://github.com/flutter/flutter/pull/13900
https://api.flutter.dev/flutter/material/Ink-class.html
Material
kendi üzerine koyabilir veContainer
.