User interface 如何制作一个适用于所有Windows手机的GUI?

User interface 如何制作一个适用于所有Windows手机的GUI?,user-interface,windows-mobile,mobile,windows-mobile-6,User Interface,Windows Mobile,Mobile,Windows Mobile 6,到目前为止,我一直在visual Studio 2008中使用pda模拟器(我使用的是windows mobile 6.1 professional sdk) 因此,我只是将大多数GUI组件拖放到表单中。在一个例子中,我制作了一个面板,然后在这个面板中,我动态地生成了带有特定位置的标签 然后我把它放在我的Hp PAQ 110 Classic pda上,它看起来很好。然后我在看模拟器,其中一个叫做专业广场。所以我决定运行它,当它运行我的程序时,它看起来像垃圾 我有丢失的标签,丢失的控制,它只是看起

到目前为止,我一直在visual Studio 2008中使用pda模拟器(我使用的是windows mobile 6.1 professional sdk)

因此,我只是将大多数GUI组件拖放到表单中。在一个例子中,我制作了一个面板,然后在这个面板中,我动态地生成了带有特定位置的标签

然后我把它放在我的Hp PAQ 110 Classic pda上,它看起来很好。然后我在看模拟器,其中一个叫做专业广场。所以我决定运行它,当它运行我的程序时,它看起来像垃圾

我有丢失的标签,丢失的控制,它只是看起来可怕

我想它可能会为我做一些调整,但它似乎要么做了一个糟糕的工作,要么根本不做

那么,如何使GUI在所有手机(或至少绝大多数手机)上都能正常工作呢

有X种类型的手机吗?就像模拟器模拟pda一样,它在我的HP one上工作,所以我假设所有Windows mobile设备pda的屏幕大小都相同

然后下一个问题是,如何使控件正确地从一个设备定位到另一个设备?我听说有人使用XML文件,这些文件具有他们调用的所有位置、大小等,我猜基本上是根据XML中的信息动态生成GUI

但是我找不到任何示例,比如XML文件是什么样子的,如何检测它是什么电话类型,这样我就可以调用该电话文件的正确节点

我不确定是否还有其他方法,但这似乎比为每种方法提供一组GUI表单要好

此外,建议将大多数内容放在面板中,这样即使内容更大,也至少可以打开自动滚动


谢谢

我花了很长时间研究这个问题的不同解决方案(请参阅),最终找到了一种务实的方法——一致使用对接。您必须将自己限制在最小公分母范围内,即您希望支持的最低分辨率,即您可以在屏幕上显示多少。好消息是网格总是使用整个可用的不动产,我的表单在所有设备上都能正确流动,屏幕看起来也不会坏。

这绝非易事。您可以遵循一些指导原则,但唯一实际可行的是始终以所有可能的屏幕分辨率测试用户界面。模拟器是一种很好的启动方式,但是最好有一个实际的设备。字体大小和文本可读性等内容只能在真实设备中进行测试。因此,以下是我的建议:

  • 尝试使用停靠来定位控件
  • 您需要能够正确处理方向更改。使用停靠有帮助,但您始终需要在不同的屏幕分辨率下进行测试
  • 在某个时刻,您会发现检测屏幕大小并动态调整用户界面是不可避免的。我不同意你应该限制自己只在最小的屏幕上显示什么。专业应用程序应该适应可用的屏幕大小并充分利用它
  • 构造应用程序,以便轻松支持新的屏幕分辨率。使主用户界面代码屏幕大小不可知。使其能够从配置类中获取有关动态调整大小-定位的所有信息。通过这种方式,您只需要增强代码中的单个项,就可以支持新的屏幕分辨率
当然:

  • 测试所有可能的屏幕分辨率。即使对用户界面做了一点小小的更改,也要重新测试

尽管上面的帖子对我很有帮助,但我发现这段视频解决了我所有的问题,你不必为最低屏幕开发


我支持对接。。。唯一的另一种方法是使用“电话风格”的控件,将您限制为一列。。。这适用于非触摸屏设备。所以这是你的最小公分母。。。当然,所有的手机看起来都像垃圾……但至少是一致的;)