Обычно приведенное ниже поведение носит быстрый характер. Однако внутри GridView (или любого ScrollView, который я предполагаю (тоже пробовал ListView)) производительность кажется очень низкой. Когда я нажимаю на экран, непрозрачность Контейнера увеличивается, но после задержки. Есть идеи, что мне не хватает?
import "package:flutter/material.dart";
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
body: MyWidget()
)
);
}
}
class MyWidgetState extends State<MyWidget> {
double opacity = 0.2;
@override
Widget build(BuildContext context) {
return GridView.builder(
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: 3
),
itemBuilder: (context, index) {
return GestureDetector(
onTap: () {
setState(() {
opacity = 0.2;
});
},
onTapDown: (details) {
setState(() {
opacity = 1.0;
});
},
child: Container(
color: Colors.red.withAlpha((255 * opacity).toInt())
)
);
},
);
}
}
class MyWidget extends StatefulWidget {
@override
State<StatefulWidget> createState() {
return MyWidgetState();
}
}