Flutter颜色命名与转换插件named_html_color的使用

Flutter颜色命名与转换插件named_html_color的使用

获取开始

首先,在你的 pubspec.yaml 文件中添加 named_html_color 依赖项:

dependencies:
  named_html_color: any

然后运行 flutter pub get 来安装该包。

使用

导入 named_html_color 包,并使用其中定义的颜色常量来获取颜色值。以下是一个简单的示例:

import 'package:flutter/material.dart';
import 'package:named_html_color/html_color.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('Named HTML Color Demo'),
        ),
        body: Center(
          child: Container(
            width: 200,
            height: 200,
            color: HTMLColor.pink, // 使用HTMLColor.pink
            child: Center(
              child: Text(
                'Hello, Flutter!',
                style: TextStyle(color: Colors.white),
              ),
            ),
          ),
        ),
      ),
    );
  }
}

API

红色
颜色名称 API
indianRed <code>HTMLColor.indianRed</code>
lightCoral <code>HTMLColor.lightCoral</code>
salmon <code>HTMLColor.salmon</code>
darkSalmon <code>HTMLColor.darkSalmon</code>
lightSalmon <code>HTMLColor.lightSalmon</code>
crimson <code>HTMLColor.crimson</code>
red <code>HTMLColor.red</code>
fireBrick <code>HTMLColor.fireBrick</code>
darkRed <code>HTMLColor.darkRed</code>
粉色
颜色名称 API
pink <code>HTMLColor.pink</code>
lightPink <code>HTMLColor.lightPink</code>
hotPink <code>HTMLColor.hotPink</code>
deepPink <code>HTMLColor.deepPink</code>
mediumVioletRed <code>HTMLColor.mediumVioletRed</code>
paleVioletRed <code>HTMLColor.paleVioletRed</code>
橙色
颜色名称 API
coral <code>HTMLColor.coral</code>
tomato <code>HTMLColor.tomato</code>
orangeRed <code>HTMLColor.orangeRed</code>
darkOrange <code>HTMLColor.darkOrange</code>
orange <code>HTMLColor.orange</code>
黄色
颜色名称 API
gold <code>HTMLColor.gold</code>
yellow <code>HTMLColor.yellow</code>
lightYellow <code>HTMLColor.lightYellow</code>
lemonChiffon <code>HTMLColor.lemonChiffon</code>
lightGoldenrodYellow <code>HTMLColor.lightGoldenrodYellow</code>
papayaWhip <code>HTMLColor.papayaWhip</code>
moccasin <code>HTMLColor.moccasin</code>
peachPuff <code>HTMLColor.peachPuff</code>
paleGoldenrod <code>HTMLColor.paleGoldenrod</code>
khaki <code>HTMLColor.khaki</code>
darkKhaki <code>HTMLColor.darkKhaki</code>
紫色
颜色名称 API
lavender <code>HTMLColor.lavender</code>
thistle <code>HTMLColor.thistle</code>
plum <code>HTMLColor.plum</code>
violet <code>HTMLColor.violet</code>
orchid <code>HTMLColor.orchid</code>
fuchsia <code>HTMLColor.fuchsia</code>
magenta <code>HTMLColor.magenta</code>
mediumOrchid <code>HTMLColor.mediumOrchid</code>
mediumPurple <code>HTMLColor.mediumPurple</code>
rebeccaPurple <code>HTMLColor.rebeccaPurple</code>
blueViolet <code>HTMLColor.blueViolet</code>
darkViolet <code>HTMLColor.darkViolet</code>
darkOrchid <code>HTMLColor.darkOrchid</code>
darkMagenta <code>HTMLColor.darkMagenta</code>
purple <code>HTMLColor.purple</code>
indigo <code>HTMLColor.indigo</code>
slateBlue <code>HTMLColor.slateBlue</code>
darkSlateBlue <code>HTMLColor.darkSlateBlue</code>
mediumSlateBlue <code>HTMLColor.mediumSlateBlue</code>
绿色
颜色名称 API
greenYellow <code>HTMLColor.greenYellow</code>
chartreuse <code>HTMLColor.chartreuse</code>
lawnGreen <code>HTMLColor.lawnGreen</code>
lime <code>HTMLColor.lime</code>
limeGreen <code>HTMLColor.limeGreen</code>
paleGreen <code>HTMLColor.paleGreen</code>
lightGreen <code>HTMLColor.lightGreen</code>
mediumSpringGreen <code>HTMLColor.mediumSpringGreen</code>
springGreen <code>HTMLColor.springGreen</code>
mediumSeaGreen <code>HTMLColor.mediumSeaGreen</code>
seaGreen <code>HTMLColor.seaGreen</code>
forestGreen <code>HTMLColor.forestGreen</code>
green <code>HTMLColor.green</code>
darkGreen <code>HTMLColor.darkGreen</code>
yellowGreen <code>HTMLColor.yellowGreen</code>
oliveDrab <code>HTMLColor.oliveDrab</code>
olive <code>HTMLColor.olive</code>
darkOliveGreen <code>HTMLColor.darkOliveGreen</code>
mediumAquamarine <code>HTMLColor.mediumAquamarine</code>
darkSeaGreen <code>HTMLColor.darkSeaGreen</code>
lightSeaGreen <code>HTMLColor.lightSeaGreen</code>
darkCyan <code>HTMLColor.darkCyan</code>
teal <code>HTMLColor.teal</code>
蓝色
颜色名称 API
aqua <code>HTMLColor.aqua</code>
cyan <code>HTMLColor.cyan</code>
lightCyan <code>HTMLColor.lightCyan</code>
paleTurquoise <code>HTMLColor.paleTurquoise</code>
aquamarine <code>HTMLColor.aquamarine</code>
turquoise <code>HTMLColor.turquoise</code>
mediumTurquoise <code>HTMLColor.mediumTurquoise</code>
darkTurquoise <code>HTMLColor.darkTurquoise</code>
cadetBlue <code>HTMLColor.cadetBlue</code>
steelBlue <code>HTMLColor.steelBlue</code>
lightSteelBlue <code>HTMLColor.lightSteelBlue</code>
powderBlue <code>HTMLColor.powderBlue</code>
lightBlue <code>HTMLColor.lightBlue</code>
skyBlue <code>HTMLColor.skyBlue</code>
lightSkyBlue <code>HTMLColor.lightSkyBlue</code>
deepSkyBlue <code>HTMLColor.deepSkyBlue</code>
dodgerBlue <code>HTMLColor.dodgerBlue</code>
cornflowerBlue <code>HTMLColor.cornflowerBlue</code>
royalBlue <code>HTMLColor.royalBlue</code>
blue <code>HTMLColor.blue</code>
mediumBlue <code>HTMLColor.mediumBlue</code>
darkBlue <code>HTMLColor.darkBlue</code>
navy <code>HTMLColor.navy</code>
midnightBlue <code>HTMLColor.midnightBlue</code>
棕色
颜色名称 API
cornsilk <code>HTMLColor.cornsilk</code>
blanchedAlmond <code>HTMLColor.blanchedAlmond</code>
bisque <code>HTMLColor.bisque</code>
navajoWhite <code>HTMLColor.navajoWhite</code>
wheat <code>HTMLColor.wheat</code>
burlyWood <code>HTMLColor.burlyWood</code>
tanColor <code>HTMLColor.tanColor</code>
rosyBrown <code>HTMLColor.rosyBrown</code>
sandyBrown <code>HTMLColor.sandyBrown</code>
goldenrod <code>HTMLColor.goldenrod</code>
darkGoldenrod <code>HTMLColor.darkGoldenrod</code>
peru <code>HTMLColor.peru</code>
chocolate <code>HTMLColor.chocolate</code>
saddleBrown <code>HTMLColor.saddleBrown</code>
sienna <code>HTMLColor.sienna</code>
brown <code>HTMLColor.brown</code>
maroon <code>HTMLColor.maroon</code>
白色
颜色名称 API
white <code>HTMLColor.white</code>
snow <code>HTMLColor.snow</code>
honeyDew <code>HTMLColor.honeyDew</code>
mintCream <code>HTMLColor.mintCream</code>
azure <code>HTMLColor.azure</code>
aliceBlue <code>HTMLColor.aliceBlue</code>
ghostWhite <code>HTMLColor.ghostWhite</code>
whiteSmoke <code>HTMLColor.whiteSmoke</code>
seaShell <code>HTMLColor.seaShell</code>
beige <code>HTMLColor.beige</code>
oldLace <code>HTMLColor.oldLace</code>
floralWhite <code>HTMLColor.floralWhite</code>
ivory <code>HTMLColor.ivory</code>
antiqueWhite <code>HTMLColor.antiqueWhite</code>
linen <code>HTMLColor.linen</code>
lavenderBlush <code>HTMLColor.lavenderBlush</code>
mistyRose <code>HTMLColor.mistyRose</code>
灰色
颜色名称 API
gainsboro <code>HTMLColor.gainsboro</code>
lightGray <code>HTMLColor.lightGray</code>
silver <code>HTMLColor.silver</code>
darkGray <code>HTMLColor.darkGray</code>
gray <code>HTMLColor.gray</code>
dimGray <code>HTMLColor.dimGray</code>
lightSlateGray <code>HTMLColor.lightSlateGray</code>
slateGray <code>HTMLColor.slateGray</code>
darkSlateGray <code>HTMLColor.darkSlateGray</code>
black <code>HTMLColor.black</code>

许可证

MIT License

Copyright (c) 2023 Fries_I23

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

更多关于Flutter颜色命名与转换插件named_html_color的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter颜色命名与转换插件named_html_color的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


在Flutter中,处理颜色时,通常使用Color类,并传入一个十六进制的颜色值。然而,有时你可能需要使用颜色名称(如“red”、“blue”)来表示颜色,或者从HTML颜色名称(如“#FF0000”)转换为Flutter的Color对象。为此,可以使用名为named_html_color的插件。

named_html_color插件简介

named_html_color是一个Flutter插件,它提供了一种简单的方式来将HTML颜色名称或十六进制颜色代码转换为Flutter的Color对象。它还支持将颜色名称转换为颜色值。

安装插件

首先,你需要在pubspec.yaml文件中添加named_html_color依赖:

dependencies:
  flutter:
    sdk: flutter
  named_html_color: ^1.0.0

然后运行flutter pub get来安装依赖。

使用插件

1. 导入插件

在你的Dart文件中导入named_html_color插件:

import 'package:named_html_color/named_html_color.dart';

2. 将HTML颜色名称或十六进制颜色代码转换为Color对象

// 使用HTML颜色名称
Color colorFromName = NamedHtmlColor.getColorFromName('red');
print(colorFromName); // 输出:Color(0xffff0000)

// 使用十六进制颜色代码
Color colorFromHex = NamedHtmlColor.getColorFromHex('#FF0000');
print(colorFromHex); // 输出:Color(0xffff0000)

3. 将颜色名称转换为十六进制颜色代码

String hexColor = NamedHtmlColor.getHexFromName('blue');
print(hexColor); // 输出:#0000ff

4. 获取所有支持的颜色名称

List<String> colorNames = NamedHtmlColor.getColorNames();
print(colorNames); // 输出:[...所有支持的颜色名称...]

示例代码

以下是一个完整的示例,展示了如何使用named_html_color插件:

import 'package:flutter/material.dart';
import 'package:named_html_color/named_html_color.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  [@override](/user/override)
  Widget build(BuildContext context) {
    // 使用HTML颜色名称
    Color colorFromName = NamedHtmlColor.getColorFromName('green');
    
    // 使用十六进制颜色代码
    Color colorFromHex = NamedHtmlColor.getColorFromHex('#00FF00');
    
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('Named HTML Color Example'),
        ),
        body: Center(
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: [
              Container(
                width: 100,
                height: 100,
                color: colorFromName,
                child: Center(child: Text('Green (Name)')),
              ),
              SizedBox(height: 20),
              Container(
                width: 100,
                height: 100,
                color: colorFromHex,
                child: Center(child: Text('Green (Hex)')),
              ),
            ],
          ),
        ),
      ),
    );
  }
}
回到顶部