Flutter實現(xiàn)Text漸變

Flutter實現(xiàn)Text漸變

  • 首先展示效果圖


    image.png
  • 自定義GradientText Widget(直接貼代碼)
import 'package:flutter/material.dart';

class GradientText extends StatelessWidget {
 GradientText(this.data,
     {@required this.gradient,
       this.style,
       this.textAlign = TextAlign.left});

 final String data;
 final Gradient gradient;
 final TextStyle style;
 final TextAlign textAlign;

 @override
 Widget build(BuildContext context) {
   return ShaderMask(
     shaderCallback: (bounds) {
       return gradient.createShader(Offset.zero & bounds.size);
     },
     child: Text(
       data,
       textAlign: textAlign,
       style: (style == null)
           ? TextStyle(color: Colors.white)
           : style.copyWith(color: Colors.white),
     ),
   );
 }
}
  • 使用
ListTile getTitleItem(HeadingItem item, BuildContext context) {
    return new ListTile(
        title: new GestureDetector(
      child: new GradientText(
        item.heading,
        textAlign: TextAlign.left,
        gradient: LinearGradient(colors: [Colors.redAccent, Colors.green]),
        style: TextStyle(
          fontSize: 30.0,
        ),
      ),
      onTap: () {
        Navigator.push(
          context,
          new MaterialPageRoute(builder: (context) => new HomePage()),
        );
      },
    ));
  }
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容