簡體   English   中英

如何使英雄小部件在路線轉換中飛到其他小部件下方

[英]How to make hero widget fly below other widget in route transition

如何讓 hero 小部件在路由轉換中飛到appBarbottomBar小部件下方。 我也曾嘗試用 hero 扭曲其他小部件,但沒有運氣。

在過渡期間,Flutter 按照在小部件(元素)樹中找到的順序放置英雄; 最后一個在上面。 因此,您可能能夠以這樣一種方式組織您的屏幕,即在樹中找到應用欄和底部欄英雄的時間要晚於包含其他英雄的主體。 例如使用Stack

Stack(
  children: [
    Body(),
    Positioned(
      top: 0,
      left: 0,
      right: 0,
      child: AppBar(),
    ),
    Positioned(
      bottom: 0,
      left: 0,
      right: 0,
      child: BottomBar(),
    ),
  ],
)

這依賴於 Flutter 的 heros 的實現細節,所以比較 hacky。

另一種方法是復制 Flutter 的 HeroController、Hero 和相關代碼並對其進行修改,以通過 Hero 小部件的新“z-index”屬性對 Hero OverlayEntries 進行排序。

英雄在導航器的疊加層中“飛”。 因此,另一種方法可能是將您的應用欄和底部欄放在導航器的頂部(例如使用上面的堆棧)。

當然,這些都不是很好。

暫無
暫無

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

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