如何解决在Flutter中创建类似于github语言栏的栏
我需要实现类似这样的东西。
它基本上是一种具有多种颜色的条,每种颜色都有一个长度。另外,可能会在每种颜色上添加文本。
如何在扑朔迷离中实现呢?
解决方法
简单的方法是使用支持水平堆叠条形图的图表库。
更困难的方法是使用行和扩展的小部件创建自己的小部件。 像这样:
Row(
children: <Widget>[
Expanded(
flex: 2,child: Container(
color: Colors.amber,height: 100,),Expanded(
flex: 2,child: Container(
color: Colors.red,Expanded(
flex: 1,child: Container(
color: Colors.green,],
https://api.flutter.dev/flutter/widgets/Expanded-class.html
,您要使用Flexible
小部件:
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',home: Scaffold(
body: SafeArea(
child: Column(
crossAxisAlignment: CrossAxisAlignment.stretch,children: [
Row(
children: [
Flexible(
flex: 3,// 30%
child: Container(
color: Colors.green,height: 20,Flexible(
flex: 2,// 20%
child: Container(
color: Colors.yellow,Flexible(
flex: 5,// 50%
child: Container(
color: Colors.cyan,)),);
}
}
这是下面的样子:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。