缩放定义了相对尺寸的简单UI

时间:2012-03-12 00:59:42

标签: android android-layout user-interface

我所拥有的是UI布局图,我希望能够向上和向下扩展以填充Android屏幕。我知道这并不适合Android UI"方式"我一直在阅读,但这是一个非常简单的应用程序,用于连接到设备 - 它有几个基本设置按钮,以及几个实时信息显示视图。

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

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

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

在我尝试这一点的时候,我真的很想听听更有经验的开发人员是否会成为一个我无法考虑的问题,而且我会这样做最好停止使用标准UI系统视图和布局的任何尝试,并直接跳转到2D图形库,或者如果有一个更好的"尽管我搜索过,但是在设置屏幕大小相关的XML布局中设置对象的相对大小的方法是我错过的?

谢谢!

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

您可以查看http://code.google.com/p/simpleui/的代码 它使用一种设计方法,其中内容嵌入在滚动视图中,并始终使用权重来显示屏幕宽度:

SimpleUI screenshot

通过这种方式,您可以根据需要向布局添加任意数量的UI组件,您仍然可以将生成的UI嵌入到片段中,例如 我认为这个概念对于手机和平板电脑也很有用,并且用户直观地知道如何使用它。