首页 > 解决方案 > 在 Flutter 应用程序中制作可滚动的平面按钮

问题描述

我正在尝试在滚动视图中嵌入一个带有可变数量文本的平面按钮,以便用户可以滚动文本但也可以点击它以执行操作。我尝试使用嵌入在 ConstrainedBox 中的平面按钮来执行此操作,该按钮本身嵌入在 SingleChildScrollView 中。

我尝试将 FlatButton 嵌入到 SingleChildScrollView 中,如下所示。早些时候,我尝试使用 SingleChildScrollView 祖先将文本包装在扩展小部件中,但这会导致运行时错误,因为滚动视图的要求和扩展视图冲突(据我所知)。

Widget contentScreen() {
    return SingleChildScrollView(
        child: ConstrainedBox(
            constraints: BoxConstraints(),
            child: FlatButton(
                onPressed: () {
                  _toggleContent();
                },
                child:
                    Column(children: <Widget>[
                      Container(
                    child: Text(
                      "Lorem Ipsum....",
                      style: TextStyle(color: Colors.white, fontSize: 20))),
                ]
                    )
            )
        )
    );
  }

文本只是不滚动。相反,它溢出并显示对角黄色条。我没有我尝试过的确切列表,但我现在所处的位置是我正在使用上面的代码,但没有预期的滚动行为。:\

我试过这个:How to make the Scrollable text in flutter?

这:在 Flutter 中的容器内制作可滚动文本

还有这个:如何使文本或富文本在颤动中可滚动?

FlatButton 的行为是否有某些东西会阻止滚动?如果是这样,我该如何解决这个问题才能仍然获得我想要的两种行为(滚动和点击以执行操作的能力)?

标签: flutterdart

解决方案


你试过这个吗?为什么需要扩展小部件?

Container(
  height: 20.0,
  child: FlatButton(
      onPressed: () {},
      child: SingleChildScrollView(
       child: Text('Lorem ipsum'),
      ),
  ),
),

手势检测器也应该可以正常工作。


推荐阅读