我所拥有的是UI布局的图形,我希望它能够放大和缩小以填充android屏幕。我知道这与我一直在阅读的android UI“方式”并不完全匹配,但这是一个用于连接设备的非常简单的应用-它具有几个基本的设置按钮和几个实时信息显示视图。
在这种情况下,UI元素都需要相对于总宽度和高度已知的尺寸。
我曾经尝试过使用XML中线性和相对布局标签的组合来进行布局,并且给定了固定的模拟器屏幕设置,我可以对接口元素进行安排,并明确设置大小以使其符合我的需要...当然,当我在其他屏幕尺寸上尝试时,这是行不通的。
因此,我的下一步将是添加代码以在活动首次创建之前计算每个元素的大小-然后覆盖我用于执行原始布局的xml值。我不介意这样做,但是有点担心它意味着UI设计将在多个位置定义,这并不是很理想。
在尝试这一过程时,我真的很想听听更有经验的开发人员是否会遇到我未曾考虑过的问题,并且最好停止使用标准UI系统视图和布局的任何尝试。 ,然后直接跳至2D图形库,或者是否有一种“更巧妙”的方法来设置XML布局中与设备屏幕尺寸相关的对象的相对尺寸,尽管我一直在搜索,但还是没有找到?
谢谢!
最佳答案
您可以将RelativeLayout设置为主布局。然后使用DisplayMetrics确定屏幕的大小。然后,您可以将对象放置在屏幕上的像素坐标中(通过使用RelativeLayout参数(顶部和左侧边距)。您还可以缩放图像。您应该提供高分辨率的图形,并缩小图形以适应较小的屏幕。这就是我所做的。项目,效果很好。
关于android - 缩放具有定义的相对尺寸的简单UI,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9660530/