Flutter:CupertinoContextMenuを長押しするとフォントスタイルが変更されます

Flutter:CupertinoContextMenuを長押しするとフォントスタイルが変更されます

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

class c_CupertinoContextMenu extends StatefulWidget {
    
    
  @override
  c_CupertinoContextMenuState createState() {
    
    
    return c_CupertinoContextMenuState();
  }
}



class c_CupertinoContextMenuState extends State<c_CupertinoContextMenu> {
    
    
  @override
  Widget build(BuildContext context) {
    
    
    // TODO: implement build
    return Scaffold(
      appBar: AppBar(
        title: Text('CupertinoContextMenu'),
        leading: IconButton(
          icon: Icon(Icons.chevron_left),
          onPressed: () {
    
    
            Navigator.pop(context);
          },
        ),
      ),
      body: Container(
        alignment: Alignment.center,
        child: Column(
          children: <Widget>[
            SizedBox(height: 400),
            CupertinoContextMenu(
              child: Container(
                alignment: Alignment.center,
                child: Text(
                  'CupertinoContextMenu',
                  style: TextStyle(fontSize: 20),
                ),
                color: Colors.red,
                height: 200,
                width: 400,
              ),
              actions: <Widget>[
                CupertinoContextMenuAction(
                  child: const Text('测试1'),
                  onPressed: () {
    
    
                    Navigator.pop(context);
                  },
                ),
                CupertinoContextMenuAction(
                  child: const Text('测试2'),
                  onPressed: () {
    
    
                    Navigator.pop(context);
                  },
                )
              ],
            )
          ],
        ),
      ),
    );
  }
}

ここに画像の説明を挿入します
CupertinoContextMenuを長時間押すと、ボタンを押す前後でボタンのテキストが異なることがわかります。

解決策は、テキストコントロールでフォントスタイルを設定することです

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

class c_CupertinoContextMenu extends StatefulWidget {
    
    
  @override
  c_CupertinoContextMenuState createState() {
    
    
    return c_CupertinoContextMenuState();
  }
}

class c_CupertinoContextMenuState extends State<c_CupertinoContextMenu> {
    
    
  @override
  Widget build(BuildContext context) {
    
    
    // TODO: implement build
    return Scaffold(
      appBar: AppBar(
        title: Text('CupertinoContextMenu'),
        leading: IconButton(
          icon: Icon(Icons.chevron_left),
          onPressed: () {
    
    
            Navigator.pop(context);
          },
        ),
      ),
      body: Container(
        alignment: Alignment.center,
        child: Column(
          children: <Widget>[
            SizedBox(height: 400),
            CupertinoContextMenu(
              child: Container(
                alignment: Alignment.center,
                child: Text(
                  'CupertinoContextMenu',
                  style: TextStyle(
                     //设置字体样式
                      fontSize: 20,
                      decoration: TextDecoration.none,
                      color: Colors.white),
                ),
                color: Colors.red,
                height: 200,
                width: 400,
              ),
              actions: <Widget>[
                CupertinoContextMenuAction(
                  child: const Text('测试1'),
                  onPressed: () {
    
    
                    Navigator.pop(context);
                  },
                ),
                CupertinoContextMenuAction(
                  child: const Text('测试2'),
                  onPressed: () {
    
    
                    Navigator.pop(context);
                  },
                )
              ],
            )
          ],
        ),
      ),
    );
  }
}

ここに画像の説明を挿入します

おすすめ

転載: blog.csdn.net/weixin_46005137/article/details/107188638