2

我遇到越来越多布局不规则的安卓设备,尤其是在 HDPI 部分。

问题是即使我在 xml 布局中只使用 DIP 值,我的更复杂的布局也无法正确缩放。动画特别成问题,因为我在TransformAnimation代码中使用浮点值。

例如,我将有一个 3.7 英寸屏幕的 240dpi 手机,具有 android 标准分辨率。我可以为这个设备制作 HDPI 和大型布局,并让它们完美地适应所有设计和美学。

然后我有一部 4.2 英寸的手机,但它的垂直分辨率仍然低于 XHDPI 或 XLARGE。如果你问设备它的 DPI 是多少,它也会报告 240dpi。不幸的是,由于实际不同的纵横比、实际不同的屏幕尺寸和实际不同的分辨率,我的布局无法正确缩放。也没有办法创建一个单独的布局文件夹,因为设备认为它是一个布局大和 hdpi,因为它只是报告它错误。(两个EVO,其他几款“长”手机)阅读android文档,您似乎可以使用layout-long-large 和其他一些组合,但手机本身仍然认为它只是布局大。long限定符在报告有关自身的正确信息的设备中确实有效。

人们如何使用 Android 框架来处理这个问题,而不是在代码中进行。这对我来说将是一项非常乏味的工作,如果硬件错误地报告了有关其自身的所有信息,我对如何动态地做到这一点有疑问。

洞察力赞赏。

4

3 回答 3

1

你的目标框架是什么?我认为,除非 API 目标为 9 或更高版本,否则设备不会将自身报告为 xhdpi。

于 2011-10-25T15:56:07.407 回答
0

解决这个问题的一种方法是,每次应用程序启动时,它都会将其用户代理发送到服务器。然后,服务器确定要使用的正确图像,并将该信息发送给使用它来显示该图像的客户端。在其他移动平台中也是如此,尽管 Android 解决了它,但您似乎遇到了问题。试试这个。

您是否也考虑过使用 9 路径图像?

于 2011-10-25T15:50:49.057 回答
0

My solution to this problem is to rely on RelativeLayout's positioning more and more.

于 2011-11-28T23:32:03.170 回答