Skip to content

Instantly share code, notes, and snippets.

View riscait's full-sized avatar

MURAMATSU Ryunosuke riscait

View GitHub Profile
@riscait
riscait / UIColor+Ext.h
Created August 11, 2020 10:33
Dark-mode compatible UIColor extension with Objective-C
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@interface UIColor (Ext)
// Original Colors
+ (UIColor *) primary;
// Compatible System Colors for iOS 12 and below
{
"version": "0.2.0",
"configurations": [
{
"name": "Flutter Debug-Development",
"request": "launch",
"type": "dart",
"program": "lib/main_development.dart",
"args": [
"--debug",
import 'package:flutter/material.dart';
import 'util/theme/theme_list_view.dart';
class HomePage extends StatelessWidget {
const HomePage({Key key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Scaffold(
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'ex_theme_mode.dart';
import 'theme_mode_notifier.dart';
class ThemeListView extends StatelessWidget {
const ThemeListView();
@override
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'home_page.dart';
import 'util/theme/theme_mode_notifier.dart';
class App extends StatelessWidget {
const App();
@override
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'app.dart';
import 'util/theme/theme_mode_notifier.dart';
Future main() async {
WidgetsFlutterBinding.ensureInitialized();
final prefs = await SharedPreferences.getInstance();
import 'package:flutter/material.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'ex_theme_mode.dart';
class ThemeModeNotifier extends ChangeNotifier {
ThemeModeNotifier({@required int id})
: current = ExThemeMode.values
.firstWhere((e) => e.id == id, orElse: () => ExThemeMode.system);
import 'package:flutter/material.dart';
import 'package:material_design_icons_flutter/material_design_icons_flutter.dart';
import 'theme_data.dart';
// If you change the order, the order in which it is displayed also changes
enum ExThemeMode {
system,
light,
dark,
import 'package:flutter/material.dart';
final ThemeData simpleLightTheme =
ThemeData.from(colorScheme: const ColorScheme.light());
final ThemeData simpleDarkTheme =
ThemeData.from(colorScheme: const ColorScheme.dark());
ThemeData get makoGreenTheme {
const primaryColor = Color(0xFF68D4C7);
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('Screen title'),
leading: _buildProfileIconButton(),
),
body: /* Main contents */
)
}