首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Android中设计动态UI元素

如何在Android中设计动态UI元素
EN

Stack Overflow用户
提问于 2021-04-15 17:02:58
回答 2查看 471关注 0票数 0

关于如何在Android (使用Java)中设计动态UI元素,我有一个一般性的问题。

我想有一个温度计在我的应用程序,取决于一些外部信息,增加或减少一个红色条(如下所示)。

。我如何在Android中设计这样的东西呢?

例如,我可以用一些绘图程序将没有红色条形的温度计设计为jpeg,然后以某种方式将Android中的红色条实现为一个可以编程更改的对象,而温度计的“边缘”则不会改变。我看到这种方法的问题是,我认为在不同屏幕大小和分辨率下,温度计的边缘与红色条形的匹配是极其困难的。你对我怎么做这样的事有什么建议吗?这里可能有图书馆吗?

我会感谢每一个评论,因为我没有任何经验,一般设计这样的动态UI对象。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-04-15 17:44:08

最新答案:

我已经创建了一个这里的演示项目。该项目具有温度计自定义视图,其中外部温度计是从图像文件中提取的,而温度计的内部水银视图是从代码中提取的。您可以查看我在前面的答案中共享的用户kofigyan的项目,以便进行其他自定义。

先前的回答:

我认为你想要的是在安卓系统中创建自定义视图

您可以扩展Android View类并创建自定义视图。View有一个Canvas对象,您可以在该对象上绘制热计的形状,并可以构建功能来更改子类中的形状状态。此外,使用Paint对象,您可以绘制所绘制的形状。

我发现项目是由用户kofigyanGithub上完成的。

票数 2
EN

Stack Overflow用户

发布于 2021-04-15 17:11:15

对于动态ui,您可以采取两种方法。

  1. Jetpack (没有讨论,因为它还在Beta中)
  2. LiveData与观测器模式

在LiveData和观察者模式中。将温度作为LiveData变量(在ViewModel中)并在MainActivity中实现一个观察者,当温度实时数据的值发生变化时,它会自动触发。

为了获得输出图形,您可以使用画布,然后在画布上绘制,并将其绑定到温度变量上。例如,您可以使用Canvas.drawRect函数根据温度创建一个短的或长的矩形。(从圆圈到温度计顶部的部分可以是长方形)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67112868

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档