gpt4 book ai didi

android - 现代 Android 小部件开发

转载 作者:行者123 更新时间:2023-12-04 01:10:24 29 4
gpt4 key购买 nike

现在是 2020 年,在 iOS 终于添加了对 Widget 的支持之后,Widget 再次风靡一时。但是,自 2012 年以来,Android 小部件似乎没有更新。
来自 Android docs :

A RemoteViews object (and, consequently, an App Widget) can supportthe following layout classes:

  • FrameLayout
  • LinearLayout
  • RelativeLayout
  • GridLayout

这意味着,没有 ConstraintLayout,没有 RecyclerView,没有 AndroidX。我不想回到 ListView 的黑暗日子。
Android 开发者网站上的文档真的仍然是当今开发 Android Widget 的最佳实践吗?有没有人有在 AndroidX 世界中制作小部件的经验?是否有任何类型的 3rd 方 API 可以让体验不那么痛苦?

最佳答案

However, Android Widgets don't seem to have been updated since 2012.


正确的。

I don't want to go back to the dark days of ListView.


嗯……对不起?

Is the documentation on the Android developer site really still the best practice for developing Android Widgets today?


应用程序小部件不是关于“最佳实践”,而是更多关于记录和支持的协议(protocol)。请记住,应用程序小部件实际上是一种进程间通信 (IPC) 协议(protocol),它恰好最终会产生一个 UI。您的应用程序没有呈现 UI — 主屏幕或其他应用程序小部件主机,通常在 AppWidgetHost 的帮助下和相关的 API。

Which means, no ConstraintLayout, no RecyclerView, no AndroidX.


正确的。毕竟,您不知道主屏幕是否可以访问这些内容,或者它们的版本等。

Is there any kind of 3rd party API to make the experience less painful?


那是不可能的。您的应用与应用小部件几乎没有关系。 “繁重的工作”在框架中,在较小程度上是在主屏幕中。第三方 API 无法真正改变这一点。
我期待 Google 开始引导启动器开发人员开始支持 slices作为“应用程序小部件”的另一种形式。这还没有发生,因为谷歌似乎已经忘记了切片。也许,在 future ,谷歌会提供一些基于 Android 11's SurfaceControlViewHost 的东西。 ,这为各种可能性打开了大门。在这两种情况下,它可能需要启动器开发人员进行更改以支持这些东西,这将减慢采用速度。
除了有限的小部件和容器列表之外,您可以做的最接近的提供 UI 的方法是将您自己的东西渲染到 Bitmap。并在 ImageView 中显示在应用小部件中。这变得很棘手,因为您不知道应用小部件的精确大小。当然,这不会改变输入选项。

关于android - 现代 Android 小部件开发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65023636/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com