弹力混浊问题扑扑

时间:2018-08-21 16:36:38

标签: flutter

我无法弄清楚如何实现不透明度,以免影响其中的文本.....我只希望背景完全消失并保留文本。我不能只将其设置为白色,因为该应用程序本身具有背景

而且我也找不到有关如何在屏幕下方创建一条线以将图块彼此分离的文档

这是我的强项

? new ListView.builder(
                    itemCount: controlHeadings.length,
                    itemBuilder: (BuildContext context, int index) {
                      return new Opacity(
                        opacity: 0.9,
                        child: new Card(
                          color: Theme.CompanyColors.coolGrey,
                          elevation: 2.0,
                          child: new ListTile(
                              leading: new Text(
                                "${controlHeadings[index]['id']}",
                                style: new TextStyle(
                                  color: Colors.white,
                                  fontWeight: FontWeight.bold,
                                ),
                              ),
                              title: new Text(
                                "${controlHeadings[index]['title']}",
                                style: new TextStyle(
                                  color: Colors.white,
                                  fontWeight: FontWeight.bold,
                                  fontSize: 15.0,
                                ),
                              ),

1 个答案:

答案 0 :(得分:3)

Opacity视为过滤器。它完全影响其孩子。考虑到这一点,您的要求是“不可能的”。

相反,您应该提取需要绕过Opacity的内容,以确保它作为Opacity的子元素 not 。您可以使用Stack

Stack(
  children: [
    Positioned.fill(
      child: Opacity(
        opacity: .9,
        child: Card(color: Colors.red),
      ),
    ),
    Text("Not affected"),
  ],
)

或者,您可以使用Card方法更改withOpacity的背景颜色:

Card(
  color: Colors.red.withOpacity(.9),
  child: Text("foo"),
)