UI问题:同时设计宽屏和4:3宽高比?

时间:2009-12-14 12:21:06

标签: layout user-interface

我正在开发一个需要以不同宽高比工作的用户界面,16:9,16:10,4:3

这个想法在概念上很简单:一切都以粗略的4:3区域为中心,屏幕这一部分以外的任何东西都有基本的艺术品,所以这样的事情:

alt text (未按比例绘制)

粉色区域代表所有UI对象的位置,蓝色区域只是背景和效果。

诀窍在于可用性,如果我在4:3宽高比环境中传递坐标(0,0)(0,0)将是屏幕的左上角。但是,如果我处于16:9环境(0,0),则需要根据新的宽高比重新规范化,使其处于适当的位置。所以我的问题是:我怎样才能做到这一点?

编辑:为了澄清,这基本上是针对UI系统的,虽然我将上面的比率列为4:3,16:9,16:10,但它应该能够动态调整设置为任何宽高比的值。

编辑2:只是为了添加更多细节:当传递位置时,它们作为当前widht高度的屏幕的百分比传入,所以基本上设置位置x将是:[pos x as part屏幕] * SCREEN_WIDTH,其中屏幕宽度是当前屏幕本身的宽度。

2 个答案:

答案 0 :(得分:1)

那么......难道你不能想出一个隐藏差异的抽象层吗?一个想法可能是模拟活动区域周围的“边界”,这将被添加。对于4:3显示,将边框大小设置为0可使活动区域覆盖全屏。

答案 1 :(得分:1)

明显的答案似乎是一个抵消。由于4x3是16x9,因此您希望16x9屏幕左侧和右侧有2x9个频段。因此,X偏移应为(2/16)*宽度。

对于16x10屏幕,因子稍微复杂一点:4x3是13.33x10,因此边缘宽度为1.67,X偏移应为(1.67 / 16)*宽度=(5/48)*宽度。 / p>