tipui 0.0.2

  • Readme
  • Changelog
  • Example
  • Installing
  • 48

tipui_example #

王者人生常用的一些flutter控件

TipColorText

显示html文本,可以只是多行,单行,超出部分..


TipColorText(
                    '我是普通文字<font color="#ff0000">我是红色字</font>又是积分积分普通字<font color="#00ff00">我是绿色字</font><font color="#0000ff">我是蓝色色字</font>',
                    maxLines: 1,
                    overflow: TextOverflow.ellipsis,
                  ),

TipMarqueeWidget

显示跑马灯效果,只是html文本


TipMarqueeWidget(
                    text: '我是普通文字<font color="#ff0000">我是红色字</font>又是积分积分普通字<font color="#00ff00">我是绿色字</font><font color="#0000ff">我是蓝色色字</font>',
                  )

TipTextSwitch

类似于Android textSwitcher的效果,支持横向,支持纵向,支持显示html文本

List<String> runHouse = [
      "<font color='#ffffff'>恭喜</font><font color='#fdcb32'>你总是盘旋在我</font><font color='#ffffff'>通过不懈的努力攻下</font><font color='#fdcb32'>腾讯科技(深圳)有限公司(科兴科学园)</font><font color='#ffffff'>,成为擂主</font>",
      "<font color='#ffffff'>恭喜</font><font color='#fdcb32'>这些猫</font><font color='#ffffff'>通过不懈的努力攻下</font><font color='#fdcb32'>科兴科学园</font><font color='#ffffff'>,成为擂主</font>",
      "<font color='#ffffff'>恭喜</font><font color='#fdcb32'>秋之凉</font><font color='#ffffff'>通过不懈的努力攻下</font><font color='#fdcb32'>科兴科学园</font><font color='#ffffff'>,成为擂主</font>",
      "<font color='#ffffff'>恭喜</font><font color='#fdcb32'></font><font color='#ffffff'>通过不懈的努力攻下</font><font color='#fdcb32'>广东省</font><font color='#ffffff'>,成为擂主</font>",
      "<font color='#ffffff'>恭喜</font><font color='#fdcb32'>这些猫</font><font color='#ffffff'>,拿下</font><font color='#fdcb32'>2344</font><font color='#ffffff'>高分</font>",
      "<font color='#ffffff'>恭喜</font><font color='#fdcb32'></font><font color='#ffffff'>,拿下</font><font color='#fdcb32'>2405</font><font color='#ffffff'>高分</font>"
    ];
TipSwitchText(
                    runHouse,
                    scrollDirection: Axis.vertical,
                  )

效果展示 #

0.0.1 #

  • TODO: Describe initial release.

example/lib/main.dart

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

import 'package:flutter/services.dart';
import 'package:tipui/tipui.dart';

import 'package:tipui/TipColorText.dart';
import 'package:tipui/TipMarqueeWidget.dart';
import 'package:tipui/TipTextSwitch.dart';

void main() => runApp(MyApp());

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  String _platformVersion = 'Unknown';

  @override
  void initState() {
    super.initState();
    initPlatformState();
  }

  // Platform messages are asynchronous, so we initialize in an async method.
  Future<void> initPlatformState() async {
    String platformVersion;
    // Platform messages may fail, so we use a try/catch PlatformException.
    try {
      platformVersion = await Tipui.platformVersion;
    } on PlatformException {
      platformVersion = 'Failed to get platform version.';
    }

    // If the widget was removed from the tree while the asynchronous platform
    // message was in flight, we want to discard the reply rather than calling
    // setState to update our non-existent appearance.
    if (!mounted) return;

    setState(() {
      _platformVersion = platformVersion;
    });
  }

  @override
  Widget build(BuildContext context) {
    String text =
        '我是普通文字<font color="#ff0000">我是红色字</font>又是积分积分普通字<font color="#00ff00">我是绿色字</font><font color="#0000ff">我是蓝色色字</font>';
    List<String> runHouse = [
      "<font color='#ffffff'>恭喜</font><font color='#fdcb32'>你总是盘旋在我</font><font color='#ffffff'>通过不懈的努力攻下</font><font color='#fdcb32'>腾讯科技(深圳)有限公司(科兴科学园)</font><font color='#ffffff'>,成为擂主</font>",
      "<font color='#ffffff'>恭喜</font><font color='#fdcb32'>这些猫</font><font color='#ffffff'>通过不懈的努力攻下</font><font color='#fdcb32'>科兴科学园</font><font color='#ffffff'>,成为擂主</font>",
      "<font color='#ffffff'>恭喜</font><font color='#fdcb32'>秋之凉</font><font color='#ffffff'>通过不懈的努力攻下</font><font color='#fdcb32'>科兴科学园</font><font color='#ffffff'>,成为擂主</font>",
      "<font color='#ffffff'>恭喜</font><font color='#fdcb32'></font><font color='#ffffff'>通过不懈的努力攻下</font><font color='#fdcb32'>广东省</font><font color='#ffffff'>,成为擂主</font>",
      "<font color='#ffffff'>恭喜</font><font color='#fdcb32'>这些猫</font><font color='#ffffff'>,拿下</font><font color='#fdcb32'>2344</font><font color='#ffffff'>高分</font>",
      "<font color='#ffffff'>恭喜</font><font color='#fdcb32'></font><font color='#ffffff'>,拿下</font><font color='#fdcb32'>2405</font><font color='#ffffff'>高分</font>"
    ];
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('王者人生flutter控件demo'),
        ),
        body: Padding(
          padding: const EdgeInsets.all(18.0),
          child: ListView(
            children: <Widget>[
              Card(
                child: Center(child: Text("TipColorText 单行")),
              ),
              Card(
                child: Center(
                  child: TipColorText(
                    text,
                    maxLines: 1,
                    overflow: TextOverflow.ellipsis,
                  ),
                ),
              ),
              Card(
                child: Center(child: Text("TipColorText 多行")),
              ),
              Card(
                child: Center(child: TipColorText(text)),
              ),
              Container(
                height: 2,
                color: Colors.red,
              ),
              Card(
                child: Center(child: Text("TipMarqueeWidget")),
              ),
              Card(
                child: Container(
                  height: 20,
                  child: Center(
                      child: TipMarqueeWidget(
                    text: text,
                  )),
                ),
              ),
              Container(
                height: 2,
                color: Colors.red,
              ),
              Card(
                child: Center(child: Text("TipSwitchText 单行")),
              ),
              Card(
                child: Container(
                  color: Colors.black45,
                  height: 20.0,
                  child: Center(
                      child: TipSwitchText(
                    runHouse,
                    scrollDirection: Axis.vertical,
                    maxLines: 1,
                    overflow: TextOverflow.ellipsis,
                  )),
                ),
              ),
              Card(
                child: Center(child: Text("TipSwitchText 多行")),
              ),
              Card(
                child: Container(
                  color: Colors.black45,
                  height: 40.0,
                  child: Center(
                      child: TipSwitchText(
                    runHouse,
                    scrollDirection: Axis.vertical,
                  )),
                ),
              ),
            ],
          ),
        ),
      ),
    );
  }
}

Use this package as a library

1. Depend on it

Add this to your package's pubspec.yaml file:


dependencies:
  tipui: ^0.0.2

2. Install it

You can install packages from the command line:

with Flutter:


$ flutter pub get

Alternatively, your editor might support flutter pub get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:


import 'package:tipui/tipui.dart';
  
Popularity:
Describes how popular the package is relative to other packages. [more]
0
Health:
Code health derived from static analysis. [more]
99
Maintenance:
Reflects how tidy and up-to-date the package is. [more]
90
Overall:
Weighted score of the above. [more]
48
Learn more about scoring.

We analyzed this package on Mar 31, 2020, and provided a score, details, and suggestions below. Analysis was completed with status completed using:

  • Dart: 2.7.1
  • pana: 0.13.6
  • Flutter: 1.12.13+hotfix.8

Health suggestions

Fix lib/tipui.dart. (-1.49 points)

Analysis of lib/tipui.dart reported 3 hints:

line 1 col 8: Unused import: 'TipColorText.dart'.

line 2 col 8: Unused import: 'TipMarqueeWidget.dart'.

line 3 col 8: Unused import: 'TipTextSwitch.dart'.

Maintenance suggestions

Package is pre-v0.1 release. (-10 points)

While nothing is inherently wrong with versions of 0.0.*, it might mean that the author is still experimenting with the general direction of the API.

Dependencies

Package Constraint Resolved Available
Direct dependencies
Dart SDK >=2.2.2 <3.0.0
flutter 0.0.0
html ^0.14.0+2 0.14.0+3
Transitive dependencies
charcode 1.1.3
collection 1.14.11 1.14.12
csslib 0.16.1
meta 1.1.8
path 1.6.4
sky_engine 0.0.99
source_span 1.7.0
term_glyph 1.1.0
typed_data 1.1.6
vector_math 2.0.8
Dev dependencies
flutter_test