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

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

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

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

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

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

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

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

EN

回答 2

Stack Overflow用户

回答已采纳

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

最新答案:

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

先前的回答:

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

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

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

票数 2
EN

Stack Overflow用户

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

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

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

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

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

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

https://stackoverflow.com/questions/67112868

复制
相关文章
Android UI设计
UI概述 1、在Android应用中, UI (User Interface)界面是人与手机之间数据传递、交互信息的重要媒介和对话接中。 2、Android程序开发最重要的一个环节就是界面处理,界面的美观度直接影响用户的第一印象,因此,开发一个整齐、美观的界面是至关重要的。 3、 Android应用的界面是由View和ViewGroup对象构建而成的。 View类是Android系统平台上用户界面表示的基本单元, View的一些子类被统称为Widgets(工具),它们提供了诸如文本输入框和按钮之类的UI对象的完整实现。 ViewGroup是View的一个扩展,它可以容纳多个View,通过ViewGroup类可以创建有联系的子View组成的复合控件。
全栈程序员站长
2022/09/07
3130
在Android中实现service动态更新UI界面
之前曾介绍过Android的UI设计与后台线程交互,据Android API的介绍,service一般是在后台运行的,没有界面的。那么如何实现service动态更新UI界面呢? 案例:通过service向远程服务器发送请求,根据服务器返回的结果动态更新主程序UI界面,主程序可实时关闭或重启服务。 注册BroadcastReceiver 在主程序activity中注册一个BroadcastReceiver,用于接收Service发布的广播。 1 @Override 2 protected void onSta
欢醉
2018/01/22
2.7K0
Android UI 设计技巧
<merge/>标签帮助你排除把一个布局插入到另一个布局时产生的多余的View Group.如,你的被复用布局是一个垂直的线性布局,包含两个子视图,当它作为一个被复用的元素被插入到另一个垂直的线性布局时,结果就是一个垂直的LinearLayout里包含一个垂直的LinearLayout。这个嵌套的布局并没有实际意义,而且会让UI性能变差。为了避免插入类似冗余的View Group,你可以使用<merge/>标签标签作为可复用布局的根节点
提莫队长
2019/03/01
5140
Android UI 设计技巧
Android开发 – 基本UI设计
给其src设置为一个颜色,然后修改其(对应分割线的宽度)以及(对应分割线的高度)属性以及位置设置
全栈程序员站长
2022/06/28
3910
如何在Dynamo中创建UI
本文介绍了如何在Dynamo中创建UI,通过使用WPF技术实现了窗口的创建和交互。首先介绍了IronPython和Dynamo的基础知识,然后讲解了实现原理和准备工作。最后通过具体的操作步骤和代码示例讲解了如何在Dynamo中创建UI。
企鹅号小编
2018/01/05
2.1K0
如何在Dynamo中创建UI
WPF中UI元素跨线程访问
dotnet中线程资源独占UI元素,不能跨线程访问,可以通过Dispatcher.Invoke的方式调用,但实际处理还是UI线程中,任务量比较大的数据会增加线程的处理压力。 其实还有一种做法,可以通过设置UI元素为只读的方式,跨线程访问。 如BitmapSource跨线程访问,可以调用Freeze设置元素为只读模式。 Aforge.net跨线程传递图像资源,如下:
sofu456
2019/07/09
1.1K0
如何在Selenium WebDriver中查找元素?(二)
在我们的测试自动化代码中,我们通常更喜欢使用id,名称,类等这些定位符。但是,有时我们在DOM中找不到它们中的任何一个,而且有时某些元素的定位符在DOM中会动态变化。在这种情况下,我们需要使用智能定位器。这些定位器必须能够定位复杂且动态变化的Web元素。
用户7466307
2020/06/24
3K0
如何在Selenium WebDriver中查找元素?(一)
有多种方法可以唯一地标识网页中的一个Web元素,例如ID,名称,类名,链接文本,部分链接文本,标记名和XPATH。
用户7466307
2020/06/24
6.1K0
Android UI:机智的远程动态更新策略
1 问题描述 做过Android开发的人都遇到过这样的问题:随着需求的变化,某些入口界面通常会出现 UI的增加、减少、内容变化、以及跳转界面发生变化等问题。每次发生变化都要手动修改代码,而入口界面通常具有未读信息提醒这样的“小红点”逻辑;一旦UI变化,“小红点”逻辑也要重新计算。如果不同的RD来维护这些代码,耦合性非常高,出错概率也很大。本文以自选股的个人页卡为例(界面如下图所示),并给出了一套方案来解决动态更新UI的问题以及更好的解决未读提醒的逻辑。 2 旧的方案(Phase out) (1)对于UI
腾讯Bugly
2018/03/23
1.5K0
Android UI:机智的远程动态更新策略
Android学习路线(二十)运用Fragment构建动态UI[通俗易懂]
要在Android系统上创建一个动态或者多面板的用户界面,你须要将UI组件以及activity行为封装成模块。让它可以在你的activity中灵活地切换显示与隐藏。
全栈程序员站长
2022/07/08
2900
Android NDK中的UI线程
在Android中,UI线程是一个很重要的概念。我们对UI的更新和一些系统行为,都必须在UI线程(主线程)中进行调用。
Oceanlong
2018/10/29
2.6K0
UI设计中的软件知识
最近挺想学学UI的,因为我们公司没有UI,所以做页面都是全靠摸索,老是被领导说没有审美[捂脸]
彼岸舞
2020/09/30
3510
Android中动态更新ListView
在使用ListView时,会遇到当ListView列表滑动到最底端时,添加新的列表项的问题,本文通过代码演示如何动态的添加新的列表项到ListView中。 实现步骤:调用ListView的setOnScrollListener()方法设置滑动监听器,实现OnScrollListener接口的方法,判断当列表滑动到最低端时,加载新的列表项。 其中OnScrollListener接口需要实现如下两个方法: onScroll(AbsListView view, int firstVisibleItem, int
欢醉
2018/01/22
2K0
Android的UI设计与后台线程交互
本文将讨论Android应用程序的线程模型以及如何使用线程来处理耗时较长的操作,而不是在主线程中执行,保证用户界面(UI)的流畅运行。本文还将阐述一些用户界面(UI)中与线程交互的API。 UI用户界面线程 当应用程序启动时,系统会为应用程序创建一个主线程(main)或者叫UI线程,它负责分发事件到不同的组件,包括绘画事件。完成你的应用程序与Android UI组件交互。 例如,当您触摸屏幕上的一个按钮时,UI线程会把触摸事件分发到组件上,更改状态并加入事件队列,UI线程会分发请求和通知到各个组件,完成相应
欢醉
2018/01/22
1K0
android动态添加数组中,Android动态数组「建议收藏」
大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说android动态添加数组中,Android动态数组「建议收藏」,希望能够帮助大家进步!!!
Java架构师必看
2022/08/03
2K0
如何在 React 中获取点击元素的 ID?
在 React 应用中,我们经常需要根据用户的点击事件来执行相应的操作。在某些情况下,我们需要获取用户点击元素的唯一标识符(ID),以便进行进一步的处理。本文将详细介绍如何在 React 中获取点击元素的 ID,并提供示例代码帮助你理解和应用这个功能。
网络技术联盟站
2023/06/07
3.5K0
Android开发笔记(四十四)动态UI事件
动画事件主要用于Animation控件,可监控动画开始、结束、重播等行为。相关类名与方法说明如下: 监听器类名 : AnimationListener 设置监听器的方法 : setAnimationListener 监听器需要重写的方法 :  onAnimationStart : 动画开始播放时调用。 onAnimationEnd : 动画结束播放时调用,该方法用得较多。 onAnimationRepeat : 动画重新播放时调用。 动画事件的具体实现代码可参考《Android开发笔记(二十一)横幅轮播页Banner》。
aqi00
2019/01/18
1.1K0
点击加载更多

相似问题

如何在android中动态添加UI元素

15

Android设计UI元素PSD

31

如何在Xamarin中添加UI元素(如“elements”)来动态查看?

11

如何在android中查找动态UI元素的ID

14

如何在Android中设计这个UI?

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文