簡體   English   中英

flutter 中的 Overscroll 指示器顏色不同?

[英]Different color of Overscroll indicator in flutter?

ListView的頂部和底部Overscroll指示器是否可以有不同的color

我有ListView的背景顏色漸變,並希望它頂部Overscroll指示器與漸變頂部匹配,底部指示器與漸變底部匹配。

您可以使用GlowingOverscrollIndicator包裝ListView並設置其color參數。 要更改頂部和底部的顏色,您可以將偵聽器添加到ListView的滾動 controller 。

 var _color = Colors.blue;

  _listener() {
    if (_scrollController.offset >=
            _scrollController.position.maxScrollExtent &&
        !_scrollController.position.outOfRange) {
      // bottom
      setState(() {
        _color = Colors.red;
      });
    }
    if (_scrollController.offset <=
            _scrollController.position.minScrollExtent &&
        !_scrollController.position.outOfRange) {
      // top
      setState(() {
        _color = Colors.blue;
      });
    }
  }

  @override
  void initState() {
    super.initState();
    _scrollController.addListener(_listener);
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
        body: GlowingOverscrollIndicator(
        axisDirection: AxisDirection.down,
        color: _color,
        child: ListView.builder(
          controller: _scrollController,
          physics: ClampingScrollPhysics(),
          itemCount: 30,
          itemBuilder: (context, index) {
            return ListTile(
              title: Text('$index'),
            );
          },
        ),
    ));
  }

結果:

資源

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM