【发布时间】:2022-01-22 14:58:38
【问题描述】:
我在 Flutter 中有 DraggableScrollableSheet 的以下代码。
DraggableScrollableSheet(
builder: (BuildContext context, ScrollController scrollController) {
return ClipRRect(
borderRadius: BorderRadius.only(
topLeft: Radius.circular(35),
topRight: Radius.circular(35),
),
child: Container(
color: ColorData.secondaryColor,
child: Padding(
padding: const EdgeInsets.symmetric(
vertical: 10,
horizontal: 15,
),
child: Column(
children: [
Container(
height: 3,
width: 30,
decoration: BoxDecoration(
color: ColorData.primaryDividerColor,
borderRadius: BorderRadius.circular(16),
),
),
const SizedBox(
height: 18,
),
SizedBox(
width: _screenWidth,
child: const Text(
'Exchange Houses',
textAlign: TextAlign.start,
style: TextStyle(
fontWeight: FontWeight.bold,
fontSize: 20,
),
),
),
const SizedBox(
height: 8,
),
SizedBox(
width: _screenWidth,
child: const Text(
'(Tap to select)',
textAlign: TextAlign.start,
),
),
const SizedBox(
height: 10,
),
Expanded(
child: ListView.separated(
itemCount: 5,
itemBuilder: (context, index) => const ExchangeHouseCard(
id: 1,
houseName: 'Test House',
houseContactNumber: '+94 77123456',
houseUrl:
'https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQrLlwS2ymz1oFL10jTbD7QMcCffrrAzUAbMA&usqp=CAU',
houseImageUrl:
'https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQrLlwS2ymz1oFL10jTbD7QMcCffrrAzUAbMA&usqp=CAU',
houseLatitude: 7.0012345,
houseLongitude: 20.301456,
userCurrencyName: 'USD',
convertingCurrencyName: 'LKR',
exchangeRate: 200.00,
change: 500.00,
changeInConvertingCurrency: 1200.00,
),
separatorBuilder: (context, index) => const SizedBox(
height: 5,
),
),
),
],
),
),
),
);
},
),
在上面的代码中,我试图让我的DraggableScrollableSheet 在用户拖动工作表时能够向上拖动或向下折叠。无论我如何尝试,我都无法拖动或折叠工作表。它保持在原来的位置。
此外,如果我将我的ListView 的controller 属性设置为我从DraggableScrollableSheet 中的builder 方法得到的scrollController,就会发生一些有趣的事情。在这种情况下,如果我们尝试滚动 ListView,DraggableScrollableSheet 将变为可拖动的。
但如果我从工作表的一般区域拖动,我希望 DraggableScrollableSheet 可以拖动。上面的DraggableScrollableSheet怎么实现这个?
(我还尝试使用ListView 将builder 方法中返回的小部件包装起来,并将ListView 的controller 属性设置为scrollController,这是我从builder 方法获得的。但这也会产生渲染错误。我找不到解决此问题的方法。)
有人可以帮忙吗?
【问题讨论】:
标签: flutter flutter-layout flutter2.0 flutter-scrollbar flutter-column