使用 Android Jetpack Compose 构建首选项屏幕
Building a preference screen with Android Jetpack Compose
我必须构建一个新的 Android 应用程序。由于 Jetpack Compose 现在稳定了,我想用它构建整个 UI。此外,我还需要一个 Preference/Settings 屏幕,用户可以在其中指定他的偏好。根据文档,仍然建议通过 Fragments 执行此操作。
https://developer.android.com/guide/topics/ui/settings
我还发现一个外部库 会以组合方式提供此功能。
https://github.com/alorma/Compose-Settings
以前有人做过吗?这样做的“最干净”方法是什么?
谢谢
我已经在 compose 中实现了一个应用程序,并且我使用 Jetpack Compose 中可用的工具创建了设置屏幕,没有片段。
我这样做的方法是为每个设置选项创建一个可组合项,其中包含一个标题、可选副标题和一个复选框,用于指示该选项是否已启用。
然后将这些选项添加到列(或网格,如果您有平板电脑,则很容易在 compose 中同时支持);您只需将复选框上的点击挂钩到您的视图模型即可更改设置,然后刷新 UI.
如果您有其他类型的设置条目,您也可以为它们定义自己的可组合项。在我的例子中,我有其他设置选项可以打开一个对话框,用户可以在其中配置一些参数,我还有另一个用于此类设置行的可组合函数。
这是个人意见,但我更愿意远离第 3 方库,除非 a) 它们提供重要价值并且 b) 它们来自提供某种维护和错误修复保证的来源。我不知道你提到的那个图书馆,但如果你包括第 3 方图书馆,你需要知道你正在放弃对应用程序部分的控制,所以你需要平衡 cost/benefit 比率。
我必须构建一个新的 Android 应用程序。由于 Jetpack Compose 现在稳定了,我想用它构建整个 UI。此外,我还需要一个 Preference/Settings 屏幕,用户可以在其中指定他的偏好。根据文档,仍然建议通过 Fragments 执行此操作。 https://developer.android.com/guide/topics/ui/settings
我还发现一个外部库 会以组合方式提供此功能。 https://github.com/alorma/Compose-Settings
以前有人做过吗?这样做的“最干净”方法是什么?
谢谢
我已经在 compose 中实现了一个应用程序,并且我使用 Jetpack Compose 中可用的工具创建了设置屏幕,没有片段。
我这样做的方法是为每个设置选项创建一个可组合项,其中包含一个标题、可选副标题和一个复选框,用于指示该选项是否已启用。
然后将这些选项添加到列(或网格,如果您有平板电脑,则很容易在 compose 中同时支持);您只需将复选框上的点击挂钩到您的视图模型即可更改设置,然后刷新 UI.
如果您有其他类型的设置条目,您也可以为它们定义自己的可组合项。在我的例子中,我有其他设置选项可以打开一个对话框,用户可以在其中配置一些参数,我还有另一个用于此类设置行的可组合函数。
这是个人意见,但我更愿意远离第 3 方库,除非 a) 它们提供重要价值并且 b) 它们来自提供某种维护和错误修复保证的来源。我不知道你提到的那个图书馆,但如果你包括第 3 方图书馆,你需要知道你正在放弃对应用程序部分的控制,所以你需要平衡 cost/benefit 比率。