首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我怎样才能让我的尾随小部件在右边亮起来?

我怎样才能让我的尾随小部件在右边亮起来?
EN

Stack Overflow用户
提问于 2020-02-26 04:44:00
回答 2查看 54关注 0票数 0

我有一个ListView,我想在每个ListTile的右边都有一个开关。但开关似乎是向左对齐的。怎样才能使它向右对齐?

代码语言:javascript
复制
@override
  Widget build(BuildContext context) {
    return Scaffold(
      backgroundColor: Theme.of(context).backgroundColor,
      body: Padding(
        padding: EdgeInsets.all(30.0),
        child: Column
        (
          mainAxisAlignment: MainAxisAlignment.center,
          children: 
          [ 
            Expanded(
              flex: 1,
              child: Stack
              (
                children: [
                  Align(
                    alignment: Alignment.topLeft,
                    child: NavigatePopButton(),
                  ),
                  Align
                  (
                    alignment: Alignment.topCenter,
                    child: Text
                    (
                      'Settings',
                      style: Theme.of(context).textTheme.title,
                      overflow: TextOverflow.visible,
                    ),
                  ),
                ],
              )
            ),
            Expanded
            (
              flex: 4,
              child: MediaQuery.removePadding
              (
                context: context,
                removeTop: true,
                child: ListView.separated
                (
                  itemCount: 3,
                  separatorBuilder: (BuildContext context, int index) => Divider(height: 1.0), 
                  itemBuilder: (BuildContext context, int index)
                  {
                      return ListTile
                      (
                        title: Text(settings()[index].value),
                        trailing: settings()[index].controller,
                      );
                  }       
                ),
              ),
            ),
          ]
        ),
      ),
    );
  }
}

EN

回答 2

Stack Overflow用户

发布于 2020-02-26 04:50:53

ListTile有自己的Padding。尝试调整该值,

例如

代码语言:javascript
复制
return ListTile
(
  contentPadding: EdgeInsets.only(right: 0.0),
  title: Text(arguments.groups[index]),
  onTap: () => onGroupTap(arguments.groups[index]),
  trailing: Switch(
    value: true,
    onChanged: (isSwitched) => print('is switched'),
  ),
);
票数 0
EN

Stack Overflow用户

发布于 2020-02-26 12:19:53

我不能重复你面临的问题。我看到Switch正确地向右对齐。示例工作代码如下:

代码语言:javascript
复制
return Scaffold(
      appBar: AppBar(
        title: Text('Demo'),
      ),
      body: Center(
        child: ListView.separated
          (
          itemCount: 5,
          separatorBuilder: (BuildContext context, int index) => Divider(height: 0.0),
          itemBuilder: (BuildContext context, int index){
            return ListTile
              (
              title: Text('Test'),
              onTap: () {},
              trailing: Switch(
                value: true,
                onChanged: (isSwitched) => print('is switched'),
              ),
            );
          },
        ),
      ),
    );

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60402847

复制
相关文章

相似问题

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