首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Flutter中创建圆形CheckBox?或者更改复选框的样式,例如Flutter中的选定图像?

如何在Flutter中创建圆形CheckBox?或者更改复选框的样式,例如Flutter中的选定图像?
EN

Stack Overflow用户
提问于 2018-09-14 14:43:40
回答 10查看 47.9K关注 0票数 26

我想创建一个圆形的CheckBox,如下所示

我尝试过这种方法的多种变体,但似乎都不起作用。包括我试着使用ClipRRect。

因为有更多的代码,所以我只选择其中的一部分在这里显示。

代码语言:javascript
复制
new Row(
      children: <Widget>[
        //new ClipRRect(
        // borderRadius: BorderRadius.all(Radius.circular(90.0)),
        //  child:
          new Checkbox(
              tristate: true,
              value: true,
              onChanged: (bool newValue){
                setState(() {

                });
              },
            activeColor: Color(0xff06bbfb),
          ),
       // ),

        new Expanded(
            child: new Text('将此手机号码和QQ号绑定,提高账号安全性。',
              style: new TextStyle(
                  color: Color(0xff797979)
              ),
            )
        ),

      ],
    ),

我是Flutter.Thanks的新手。

EN

回答 10

Stack Overflow用户

发布于 2019-07-12 18:38:15

复制Material Checkbox的代码并创建新的Checkbox小部件。

在此小部件中,将变量const Radius _kEdgeRadius = Radius.circular(1.0)更改为Radius.circular(100)

票数 14
EN

Stack Overflow用户

发布于 2021-08-21 10:26:26

如下所示设置主题:

代码语言:javascript
复制
 Theme(
  data: ThemeData(
    checkboxTheme: CheckboxThemeData(
      shape: RoundedRectangleBorder(
        borderRadius: BorderRadius.circular(25),
      ),
    ),
  );      
票数 5
EN

Stack Overflow用户

发布于 2021-02-04 16:41:04

我花了很长时间来构建它,并想出了这个解决方案。我想像我这样的人总有一天会需要它的。所以就是这样了。

代码语言:javascript
复制
InkWell(
    onTap: () {
        setState(() {
            selected = !selected;
        });
    },
    child: Container(
        height: 28,
        width: 28,
        decoration: BoxDecoration(
            shape: BoxShape.circle, color: selected ? Colors.green : Colors.white,
            border: Border.all(width: 2, color: Colors.green)
        ),
        child: Padding(
            padding: const EdgeInsets.all(3.0),
            child: selected ? Icon(
                Icons.check,
                size: 18.0,
                color: Colors.white,
            ) : Container()
        ),
    ),
),
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52326268

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档