我试图按照这个tutorial创建一个DropDown
。但我不能复制他的代码,因为Flutter 2.0
是禁止它,因为我可以这些行:
void findDropdownData() {
RenderBox renderBox = actionKey.currentContext!.findRenderObject()!;
height = renderBox.size.height;
width = renderBox.size.width;
Offset? offset = renderBox.localToGlobal(Offset.zero);
xPosition = offset!.dx;
yPosition = offset.dy;
}
正如你所看到的,我试着添加一些!
和?
,但它仍然不起作用。主要问题是findRenderObject
返回RenderObject
,但我需要它是一个RenderBox
...任何想法是什么错在这里?不能弄清楚...
4条答案
按热度按时间fcg9iug31#
解决办法比我想象的要简单:
只需像这样使用
as
:ux6nzvsh2#
有时候
actionkey
可能会显示错误,所以简单地使用 * 作为 *scyqe7ek3#
你也可以添加更多的安全检查,基于@Chris的
fd3cxomn4#
您也可以这样解决它