简体   繁体   English

如何在 flutter 中的 ProfileListItem 中添加一个 TextButton

[英]How to add a TextButton inside ProfileListItem in flutter

how i create a text button inside profile list item?

please check the code and help to create a text button i edited previous code because 2 person said that they need to see my ProfileListItem请检查代码并帮助创建一个文本按钮我编辑了以前的代码因为 2 个人说他们需要查看我的 ProfileListItem

i tried to add a TextButton inside ProfileListItem but i can't.我试图在 ProfileListItem 中添加一个 TextButton,但我不能。 here is my code how i create a text button inside profile list item?这是我的代码,我如何在配置文件列表项中创建文本按钮?

      Expanded(

            child: ListView(
             children: const <Widget>[

               ProfileListItem(
                 icon: LineAwesomeIcons.lock,
                 text: 'Privacy',
                 hasNavigation: true,
               ),


class ProfileListItem extends StatelessWidget {
  final IconData icon;
  final text;
  final bool hasNavigation;

  const ProfileListItem({
    Key? key,
    required this.icon,
    this.text,
    required this.hasNavigation,
  }) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Container(
        height: kSpacingUnit.w * 5.5,
        margin: EdgeInsets.symmetric(horizontal: kSpacingUnit.w * 4)
            .copyWith(bottom: kSpacingUnit.w * 2),
        padding: EdgeInsets.symmetric(horizontal: kSpacingUnit.w * 2),
        decoration: BoxDecoration(
          borderRadius: BorderRadius.circular(kSpacingUnit.w * 3),
          //color: Theme.of(context).backgroundColor,
          color: AppColors.deep_orange,
        ),
        child: Row(children: <Widget>[
          Icon(
            this.icon,
            size: kSpacingUnit.w * 2.5,
          ),
          SizedBox(width: kSpacingUnit.w * 2.5),
        
 
            Text(
              this.text,
              style: kTitleTextStyle.copyWith(fontWeight: FontWeight.w500),
          
          ),
          Row(
            children: <Widget>[
              Icon(
                this.icon,
                size: kSpacingUnit.w * 2.5,
              ),
              SizedBox(width: kSpacingUnit.w * 2.5),
              Text(
                this.text,
                style: kTitleTextStyle.copyWith(fontWeight: FontWeight.w500),
              ),
             
            ],
          ),
        ]));
  }
}

输出

Please try the below code:请尝试以下代码:

class ProfileListItem extends StatelessWidget {
  final IconData icon;
  final String? text;
  final bool hasNavigation;

  const ProfileListItem({
    Key? key,
    required this.icon,
    this.text,
    required this.hasNavigation,
  }) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Container(
        height: 10.h,
        // margin:
        //     EdgeInsets.symmetric(horizontal: 10.w * 4).copyWith(bottom: 10 * 2),
        // padding: EdgeInsets.symmetric(horizontal: 10.w * 2),
        decoration: BoxDecoration(
          borderRadius: BorderRadius.circular(10 * 3),
          //color: Theme.of(context).backgroundColor,
          color: Colors.deepOrange,
        ),
        child: Row(children: [
          TextButton(
            onPressed: () {},
            child: Text(
              text ?? "",
              style: const TextStyle(fontSize: 12),
            ),
          ),
          Expanded(
            child: TextButton(
              onPressed: () {},
              child: Row(
                children: <Widget>[
                  Icon(
                    icon,
                    size: 20,
                    color: Colors.white,
                  ),
                  Text(
                    text ?? "",
                    style: const TextStyle(
                      fontSize: 12,
                      color: Colors.white,
                    ),
                  ),
                ],
              ),
            ),
          ),
        ]));
  }
}

For more detail see here: https://api.flutter.dev/flutter/material/TextButton-class.html有关详细信息,请参见此处: https://api.flutter.dev/flutter/material/TextButton-class.html

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM