【问题标题】:I'm trying to implement a favorites feature locally in flutter that works both inside the page and on the select page我正在尝试在 Flutter 中本地实现一个收藏夹功能,该功能既可以在页面内部也可以在选择页面上使用
【发布时间】:2021-11-22 13:54:06
【问题描述】:

我正在尝试使用颤振添加收藏夹功能。如果通过点击页面内的收藏按钮来激活它,则需要实现它,以便标记为收藏的收藏页面出现在页面选择窗口中。 getx 实现起来太复杂了,所以我放弃了。还有其他景点或建议页面吗?

我看过shared_preferences: ^2.0.7,但这是我第一次开发应用程序,所以很难开发,因为没有示例。

【问题讨论】:

    标签: flutter flutter-layout flutter-widget flutter-sharedpreference


    【解决方案1】:

    您可能想看看this flutter cookbook。虽然这不会教您共享偏好,但它基本上会实现您想要的其他功能。对于 Flutter 的新用户来说,这实际上是开始学习 Flutter 的好方法。

    一旦你理解了这本食谱并感到自信,你可能想看看this flutter tutorial on shared preferences,它对初学者也很友好。

    如果您愿意接受建议,我会敦促您从尽可能少的依赖项开始,并仅在需要时使用它们。如果您是 Flutter 新手,并且对于一个简单的应用程序,GetX 不是必需的,它会打扰您而不是帮助您。

    【讨论】:

      【解决方案2】:

      您可以在页面选择上有一个有状态的小部件,您可以在初始化状态下从首选项中读取并将该值赋予最喜欢的图标(例如,真正的图标颜色是红色,false -> 白色)。并将诸如 (setState(() {favorite = !favorite});) 之类的函数传递到第二页。然后,如果用户单击第 2 页上的收藏按钮并返回,颜色将改变。当您单击 iconButton 时,不要忘记将其保存在首选项中。

      【讨论】:

      • 我明白怎么实现了!但是我需要保存它以便它在本地机器上持续存在,我该怎么做?
      • 当用户按下按钮时,你会得到一个 SharedPreferences.instance 并将其设置在那里 onPressed:(){final prefs = await SharedPreferences.getInstance(); // set value prefs.setInt('isFavorite', your_bool);}
      猜你喜欢
      • 2021-11-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多