android - 缩放已定义相对尺寸的简单 UI

标签 android android-layout user-interface

我有一张 UI 布局图,我希望能够按比例放大和缩小以填满 Android 屏幕。我知道这并不适合我一直在阅读的 android UI“方式”,但这是一个用于连接设备的非常简单的应用程序 - 它有几个基本设置按钮和一些实时信息显示 View 。

在这种情况下,UI 元素都需要相对于总宽度和高度已知的尺寸。

我尝试过使用 XML 中的线性和相对布局标签的组合来进行布局,并且给定一个固定的模拟器屏幕设置,我可以使用显式设置的大小来安排界面元素,以填充它我想要的方式......当然,当我在不同的屏幕尺寸上尝试时,这不起作用。

因此,我的下一步是添加代码以在首次创建 Activity 之前计算每个元素的大小 - 然后覆盖我用于执行原始布局的 xml 值。我不介意这样做,但有点担心这意味着 UI 设计将在多个地方定义,这不是很理想。

在我尝试这个过程中,如果有我没有考虑过的问题,我真的很想听听更有经验的开发人员的意见,我最好停止任何使用标准 UI 系统的尝试 View 和布局,并直接跳转到 2D 图形库,或者是否有一种“更好”的方法来设置与设备屏幕尺寸相关的 XML 布局中对象的相对大小,尽管我进行了搜索但我错过了?

谢谢!

最佳答案

您可以将 RelativeLayout 设置为主布局。然后使用 DisplayMetrics 确定屏幕的大小。然后,您可以将对象以像素坐标放置在屏幕上(通过使用 RelativeLayout 参数(顶部和左侧边距)。您还可以缩放图像。您应该提供高分辨率图形并为较小的屏幕缩小图形。这就是我为一个人所做的项目,它运行良好。

关于android - 缩放已定义相对尺寸的简单 UI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9660530/

相关文章:

java - 安卓Java : Get Response Body from HttpUrlConnection

java - 初学者 Android : Files and Checkboxes

user-interface - 有什么好的网站可以查看实际 Web 应用程序的屏幕截图吗?

java - 图形用户界面程序不工作

c# - 如何在 C# Winform 应用程序中轻松保持一致的 UI 设置?

java - getApplicationContext() 无法解析

javascript - JavaScript 无法在 Android 中运行

android - 一些带有自定义图像的 map 注释未在 Android 应用程序中显示

android - 在 RelativeLayout 中正确对齐 TextView

android - 在 RelativeLayout 中用多个 TextView 换行