Flutter实现一行文字多种颜色,部分文字设置点击事件

效果图:

上面是效果图,请看有三种效果,第一行是删除效果,第二种是文字设置不同颜色,最后的绿色还可以设置点击,代码如下:

import 'package:flutter/material.dart';
import 'package:flutter/gestures.dart';
//import 'ur';

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('Text示例'),
        ),
        body: Center(
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: <Widget>[
              Text(
                'Hello My Name is WeiWenYi,And You?...',
                maxLines: 1,
                overflow: TextOverflow.ellipsis,
                softWrap: true,
                style: TextStyle(
                  fontSize: 20.0,
                  decoration: TextDecoration.lineThrough,
                  decorationStyle: TextDecorationStyle.wavy
                ),
              ),
              SizedBox(
                height: 10.0,
              ),
              RichText(
                text: TextSpan(
                  text: '你好啊,我是很牛逼的人物哦!',
                  style: TextStyle(color: Color(0xffff0000),fontSize: 20.0),
                  children: <TextSpan>[
                    TextSpan(
                      text: '康师傅啊,,你在干嘛呀,'
                    ),
                    TextSpan(
                      text: '哒哒哒哒哒哒哒,,哈哈哈哈哈',
                      style: TextStyle(color: Color(0xff00ff00)),
                      recognizer: TapGestureRecognizer()..onTap = () async {
                        //这里做点击事件
//                        String url = 'http://www.baidu.com';
//                        if (await canlaunch(url)){
//                          await launch(url);
//                        }
                      }
                    ),
                  ],
                ),
              )
            ],
          ),
        ),
      ),
    );
  }
}

快去试试吧!

Flutter 中使用 ECharts 的版本 `flutter_echarts1.3.6` 实现点击事件并展示文字,你需要利用 ECharts 的事件监听功能,特别是 `'click'` 事件。首先,确保你已经导入了所需的依赖,并创建了一个图表实例。例如: ```dart import 'package:flutter_echarts/flutter_echarts.dart'; // ... ECharts chart = ECharts( options: EChartOption( tooltip: ETooltip(), series: [ // ... (你的系列数据配置) ELine(seriesName: 'Series Name', data: [...]), // 点击事件配置 ELine( seriesName: 'Click Series', data: [...], itemStyle: ELineStyle( normal: ENormalStyle( hoverColor: 'transparent', // 防止颜色覆盖点击效果 cursor: 'pointer', // 显示鼠标指针 ), emphasis: EEmphasis( highlightColor: Colors.black, // 点击后的高亮颜色 shadowBlur: 5, // 模糊效果 ), ), onClick: (params) { setState(() { String textToDisplay = params.data[0]; // 获取点击的数据点 showText(textToDisplay); // 自定义函数展示文字 }); }, ), ], ), ); ``` 在这个例子中,我们创建了一个名为 "Click Series" 的线图系列,并添加了一个 `onClick` 函数处理点击事件。当用户点击数据点时,会触发该函数,并通过 `params` 参数获取到点击的具体值,然后你可以根据需要调用 `showText` 这样的自定义方法来显示相应的内容。 记得要在适当的地方显示这个图表,比如在一个 `Container` 或者 `Column` 中: ```dart Container( child: Column( children: [ // 其他内容... SizedBox(height: 20), Expanded(child: chart), ], ), ), ``` 如果你有具体的文本显示需求或者其他相关问题,请告诉我,我会进一步帮助你。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值