我有一个客户端给了我一个.psd文件,其中包含Activity
的所有图形的整个屏幕。分辨率为480x800。客户端希望应用程序看起来与.psd文件中的应用程序相同。问题是不同的设备具有不同的分辨率和大小。我知道密度是真正重要的,但我如何在所有设备上缩放图形看起来相同?例如,我导出了所有图层并在Android中重新创建了屏幕,但出于某种原因,屏幕在Nexus One(480x800)上显得更加拥挤。
一个想法是从图形创建9个补丁图像并用于ImageView
的android:background而不是android:src对吗?
为图形设置320x480分辨率不是更好吗?或者我需要两种解决方案吗?另外,我必须考虑状态栏的高度,我知道它是25dip,但我不确定。
因此,总而言之,我有兴趣了解客户端为您提供模型和图形的最佳方式,以便开发人员可以根据规范轻松实现。
答案 0 :(得分:0)
这是不容易解决的问题。想想一个webdesigner,无法知道每个浏览器的所有可能的分辨率和设置,所以他必须相应地扩展。
在我看来,这里只有三种方法。
首先:让他说明他想要支持哪些设备,并仅支持这些设备。使用具有最高分辨率的设备大小提取图层,并在其他设备上缩小图层。 例如。如果您必须支持480x800(2)和240x300(1)的两个设备,请将所有图像导出为480x800并相应地缩小它们。不要为每个设备编写单个应用程序。
第二:以尽可能高的分辨率导出图形,并在相对于所用设备的所有设备上缩小它们。想象一下,一个网站设计师。他所做的只是定义边距,填充等,几乎在任何浏览器中它都会很好看。您应该这样做,并根据需要调整元素大小。
第三:使应用程序固定,例如为您的整个应用程序定义200x200的大小,只需用特定颜色填充大于屏幕的所有内容,例如黑色。这在Java ME应用程序中发生了很多,它们在硬件上看起来很棒,并且仍然可以在超出时间的硬件上播放,尽管它们看起来很丑陋。
希望这有帮助, 罗宾。