Альпинисты, стремящиеся к вершине, не будут опьянены определенным следом на своем пути.В мире кодовых фермеров прекрасный опыт работы с приложением зависит от обработки программистом деталей и царства собственных требований.Молодежь также занята.Один из занятые фермеры кода, каждый день и каждую неделю, оставляют некоторые следы. Это содержание этих творений. Существует своего рода настойчивость, то есть, я не знаю, почему. Если вы запутались, вы могли бы также взять посмотрите на трек фермеров кода.
Если вы заинтересованы, вы можете подписаться на публичную учетную запись biglead, чтобы получать последние учебные материалы.
- Цикл статей от начала до освоения Flutter здесь
- Разумеется, исходный код тоже должен быть здесь.
- github немного тормозит, давайте взглянем на исходный код облака кода.
- Серия учебных пособий здесь
Визуализации этой статьи
основной код
ShaderMask(
blendMode: BlendMode.srcATop,
shaderCallback: (Rect bounds) {
return const LinearGradient(
colors: [Colors.orange, Colors.yellow],
).createShader(bounds);
},
child: Image.asset(
'assets/images/qq_icon.png',
width: 40,
),
)
код страницы
class Exam220HomePage extends StatefulWidget {
const Exam220HomePage({
Key? key}) : super(key: key);
@override
State<Exam220HomePage> createState() => _Exam220HomePageState();
}
class _Exam220HomePageState extends State<Exam220HomePage> {
@override
Widget build(BuildContext context) {
return Scaffold(
//页面的主内容区
body: Center(
child: Row(
mainAxisSize: MainAxisSize.min,
children: [
Image.asset(
'assets/images/qq_icon.png',
width: 40,
),
SizedBox(
width: 0100,
),
///代码清单2-28
ShaderMask(
blendMode: BlendMode.srcATop,
shaderCallback: (Rect bounds) {
return const LinearGradient(
colors: [Colors.orange, Colors.yellow],
).createShader(bounds);
},
child: Image.asset(
'assets/images/qq_icon.png',
width: 40,
),
)
],
),
),
);
}
}
Если вы запутались, вы можете каждый день приходить сюда, чтобы поделиться, а затем накопить
больше приложений Widget.Редактор резюмировал их в книге.