不寻常屏幕的布局

时间:2011-12-07 09:41:40

标签: android android-layout

部分下载我的应用的用户抱怨他们无法安装应用,因为它未找到MainActivity.class布局。经过调查,我意识到那些手机有不寻常的屏幕。

例如,其中一部手机是HTC ChaCha,屏幕尺寸为480 x 320像素,2.6英寸(~22 ppi像素密度)。根据这些规范,它是普通屏幕,MDPI。

但是,由于其屏幕设置为横向模式(宽屏移动屏幕),Android不会将其识别为普通MDPI,而是将其识别为其他内容,然后尝试从/ layout dir中提取XML布局。此目录中的Main.xml布局没有设想这种不寻常的屏幕,并且布局被破坏(布局图标太大,可能从HDPI可绘制目录中拉出)。

如何为这些不寻常的手机制作XML布局?

PS。还有一个问题。当我通过Android SDK Manager为这款手机创建模拟器时,我应该将“抽象LCD密度”设置为222还是保持为160 ???

3 个答案:

答案 0 :(得分:2)

HTC Chacha的问题实际上是它的屏幕方面。 这是一个“不长”的屏幕(如果我是正确的,就像HTC Wildfire一样)。

要为此手机(以及所有4/3比例的屏幕)制作特定布局,只需在布局不长的目录中进行布局。

res
|---layout-notlong
    |----mylayout.xml

答案 1 :(得分:1)

您确定错误是无法找到活动的类吗?

多家设备供应商将错误地描述其屏幕密度。密度不是从物理尺寸和像素数量得出的。有些人出于兼容性原因这样做了;例如,最初的三星Galaxy Tab(在Honeycomb之前发布,因此在技术上不是“平板电脑就绪”)报告为HDPI,因此选择图形和布局使其更像手机使用屏幕。

关于您的布局,如果您有一个不错的默认设置(res/layout/),如果没有更具体的布局(例如res/layout-land/res/layout-large/),则会选择此默认设置。请记住,您在代码中引用的每个视图id必须在所有布局中都可用。让它们彼此保持最新状态,否则最终会出现不一致的行为。

如果你努力为至少三个主要密度(ldpi,mdpi和hdpi)制作图形,那么你不应该看到过大的图标,除非屏幕的物理尺寸小于你的布局所期望的。另外,在布局中使用dp而不是px

答案 2 :(得分:-1)

识别问题的良好开端可能是检查应用程序错误报告

android market publisher account

点击应用列表中的应用旁边的 Erros(2)