blob: 9efc544d7a365cd58fb103374701be3cf7fb4044 [file] [log] [blame]
// Copyright 2017 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 'package:flutter/material.dart';
import 'package:flutter/rendering.dart';
class ColorTestingDemo extends StatelessWidget {
const ColorTestingDemo({ Key key }) : super(key: key);
static const String routeName = '/color_demo';
@override
Widget build(BuildContext context) => ColorDemoHome();
}
class ColorDemoHome extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: const Text('Color Demo')),
body: ListView(
padding: const EdgeInsets.all(5.0),
children: <Widget>[
Image.network('https://flutter.github.io/assets-for-api-docs/assets/tests/colors/gbr.png'),
Image.network('https://flutter.github.io/assets-for-api-docs/assets/tests/colors/tf.png'),
Image.network('https://flutter.github.io/assets-for-api-docs/assets/tests/colors/wide-gamut.png'),
const GradientRow(leftColor: Color(0xFFFF0000), rightColor: Color(0xFF00FF00)),
const GradientRow(leftColor: Color(0xFF0000FF), rightColor: Color(0xFFFFFF00)),
const GradientRow(leftColor: Color(0xFFFF0000), rightColor: Color(0xFF0000FF)),
const GradientRow(leftColor: Color(0xFF00FF00), rightColor: Color(0xFFFFFF00)),
const GradientRow(leftColor: Color(0xFF0000FF), rightColor: Color(0xFF00FF00)),
const GradientRow(leftColor: Color(0xFFFF0000), rightColor: Color(0xFFFFFF00)),
// For the following pairs, the blend result should match the opaque color.
const ColorRow(color: Color(0xFFBCBCBC)),
const ColorRow(color: Color(0x80000000)),
const ColorRow(color: Color(0xFFFFBCBC)),
const ColorRow(color: Color(0x80FF0000)),
const ColorRow(color: Color(0xFFBCFFBC)),
const ColorRow(color: Color(0x8000FF00)),
const ColorRow(color: Color(0xFFBCBCFF)),
const ColorRow(color: Color(0x800000FF)),
],
),
);
}
}
class GradientRow extends StatelessWidget {
const GradientRow({ Key key, this.rightColor, this.leftColor }) : super(key: key);
final Color leftColor;
final Color rightColor;
@override
Widget build(BuildContext context) {
return Container(
height: 100.0,
decoration: BoxDecoration(
gradient: LinearGradient(
begin: Alignment.topLeft,
end: Alignment.bottomRight,
colors: <Color>[ leftColor, rightColor ],
),
),
);
}
}
class ColorRow extends StatelessWidget {
const ColorRow({ Key key, this.color }) : super(key: key);
final Color color;
@override
Widget build(BuildContext context) {
return Container(
height: 100.0,
color: color,
);
}
}
void main() {
runApp(MaterialApp(
title: 'Color Testing Demo',
home: ColorDemoHome(),
));
}