mirror of
https://github.com/flutter/samples.git
synced 2025-11-10 23:08:59 +00:00
69 lines
1.5 KiB
Dart
69 lines
1.5 KiB
Dart
// Copyright 2019 The Chromium Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
import 'app_state.dart';
|
|
import 'flutter.dart';
|
|
import 'shared_theme.dart';
|
|
|
|
const _accentBlue = Color(0xff000579e);
|
|
|
|
class ThemeSimple extends SharedTheme {
|
|
@override
|
|
String get name => 'Simple';
|
|
|
|
ThemeSimple(AppState proxy) : super(proxy);
|
|
|
|
@override
|
|
Color get puzzleThemeBackground => Colors.white;
|
|
|
|
@override
|
|
Color get puzzleBackgroundColor => Colors.white70;
|
|
|
|
@override
|
|
Color get puzzleAccentColor => _accentBlue;
|
|
|
|
@override
|
|
RoundedRectangleBorder get puzzleBorder => const RoundedRectangleBorder(
|
|
side: BorderSide(color: Colors.black26, width: 1),
|
|
borderRadius: BorderRadius.all(
|
|
Radius.circular(4),
|
|
),
|
|
);
|
|
|
|
@override
|
|
Widget tileButton(int i) {
|
|
if (i == puzzle.tileCount) {
|
|
assert(puzzle.solved);
|
|
return const Center(
|
|
child: Icon(
|
|
Icons.thumb_up,
|
|
size: 72,
|
|
color: _accentBlue,
|
|
),
|
|
);
|
|
}
|
|
|
|
final correctPosition = puzzle.isCorrectPosition(i);
|
|
|
|
final content = createInk(
|
|
Center(
|
|
child: Text(
|
|
(i + 1).toString(),
|
|
style: TextStyle(
|
|
color: Colors.white,
|
|
fontWeight: correctPosition ? FontWeight.bold : FontWeight.normal,
|
|
fontSize: small ? 30 : 49,
|
|
),
|
|
),
|
|
),
|
|
);
|
|
|
|
return createButton(
|
|
i,
|
|
content,
|
|
color: const Color.fromARGB(255, 13, 87, 155),
|
|
);
|
|
}
|
|
}
|