当我在颤动中按下 ElevatedButton 时,我希望能够更改 Fontfamily

Posted

技术标签:

【中文标题】当我在颤动中按下 ElevatedButton 时,我希望能够更改 Fontfamily【英文标题】:I would like to be able to change the Fontfamily when I press the ElevatedButton in flutter 【发布时间】:2021-07-22 07:33:19 【问题描述】:

当按下 ElevatedButton 时,我希望顶部图片中的 Textfield 和 fontFamily 发生变化。我该怎么办?我想试试 GetX。

home_page.dart

ListView(
  scrollDirection: Axis.horizontal,
 children: [
      FontFamilyWidget(
             fontFamily: 'Cafe24SsurroundAir',
             buttonName: '✈️ 카페24 써라운드 에어'),
             const SizedBox(width: 5),
      FontFamilyWidget(
             fontFamily: 'RIDIBatang', buttonName: '???? 리디바탕'),
             const SizedBox(width: 5),
      FontFamilyWidget(
             fontFamily: 'InkLipquid', buttonName: ' 잉크립퀴드체'),
             const SizedBox(width: 5),
              .
              .
              .

fontfamily_widget.dart

【问题讨论】:

【参考方案1】:

'font_controller.dart'的一部分

 String select = 'RIDIBatang';

  void onClickChangeFont(String changedFontFamily) 
    select = changedFontFamily;
    update();
  

'fontfamily_widget.dart'的一部分

class FontFamilyWidget extends StatefulWidget 
  final String fontFamily;
  final String buttonName;
  final String changedFontFamily;

  const FontFamilyWidget(
    Key? key,
    required this.fontFamily,
    required this.buttonName,
    required this.changedFontFamily,
  ) : super(key: key);

  @override
  _FontFamilyWidgetState createState() => _FontFamilyWidgetState();


class _FontFamilyWidgetState extends State<FontFamilyWidget> 
  FontController c = Get.find();

  @override
  Widget build(BuildContext context) 
    return ElevatedButton(
      //텍스트필드와 상단 텍스트의 fontfamily를 변경해주는 함수
      onPressed: () 
        c.onClickChangeFont(widget.changedFontFamily);
      ,

      child: Text(
        widget.buttonName,
        style: TextStyle(fontFamily: widget.fontFamily),
      ),
    );
  



之后,FontFamilyWidget 被应用到 home_page.dart。

【讨论】:

你测试了吗?我认为它不会起作用,因为您在小部件树中没有任何地方使用GetBuilder

以上是关于当我在颤动中按下 ElevatedButton 时,我希望能够更改 Fontfamily的主要内容,如果未能解决你的问题,请参考以下文章

在颤动中按下注销按钮后如何重定向到登录页面

当我在OpenGL中按下一个键时无法绘制形状

在 Flutter 中按下切换开关时交换小部件

为啥当我在编辑器中按下播放时 Unity 会崩溃?

当我在父 Activity 中按下 onBackpressed 时,如何控制 Fragment 中的 VideoView?

当我在 Motionbuilder 中按下录制按钮时,它会显示“没有可录制的内容”。