屏幕分辨率

时间:2010-12-19 19:07:11

标签: android android-emulator screen cordova screen-resolution

我一直在从这两个来源学习Android和Phonegap开发:

http://news.softpedia.com/news/How-to-Run-Android-Applications-on-Ubuntu-115152.shtml

http://wiki.phonegap.com/w/page/30862722/phonegap-android-eclipse-quickstart

我有三星Galaxy Tab。

但是,令我感到困惑的是:

  1. 在2010年第四季度,我在开发中使用哪种屏幕尺寸来覆盖最多的Android手机和平板电脑?你推荐WVGA800用于480x800屏幕吗?
  2. 大多数Android应用程序如何正确调整到我的7“三星Galaxy Tab中,即使它具有高分辨率?开发人员正在做什么来实现这一目标?我的意思是,你能否使你的应用程序具有一种伸缩性和字体也拉伸了吗?或者,谷歌是否检测到该应用程序是为较小的屏幕而设计的,因此它会处理Galaxy Tab的大小调整?我是否需要更改AndroidManifest.xml中的内容?
  3. 我在模拟器中使用了HVGA默认值,并且它很快。当我切换到WVGA800时,它变慢了很多。那是为什么?

2 个答案:

答案 0 :(得分:8)

以下是我完全从Android开发人员的角度给出的答案(我没有使用过PhoneGap的经验,所以我不能说这会影响到什么):

  1. 对于我的大多数测试,我专注于320x480和480x800。对于平板电脑,您还需要针对Galaxy Tab进行专门测试(有关在模拟器中进行测试的更多详细信息,请参阅Samsung's site。)

  2. Android中的布局通常设计(或应该)以支持任何屏幕尺寸。通常,视图设置为MATCH_PARENT(以前为FILL_PARENT)或WRAP_CONTENT,因此它们的大小取决于它们所处的布局或它们包含的内容,而不是显示的大小。您还可以指定“DP”(与密度无关的像素),它将自动缩放(因此2dp在HVGA设备上为2px,在WVGA设备上为3px)。字体应该在SP中指定,这基本上是相同的,但也要考虑用户的字体首选项。

    您还可以应用权重来拉伸视图。例如,如果你有一个水平方向的LinearLayout,你可以在其中放入两个视图(比如说TextView和EditTextView)。你可以将它们的宽度和高度设置为WRAP_CONTENT,但是你可能会在EditTextView中添加一个layout_weight =“1”,告诉它填充剩余的空间。此外,您可以为大型设备创建特定布局,以自定义Galaxy Tab的显示。

  3. 分辨率越高,仿真器处理的像素就越多。您还会注意到Android版本之间的性能差异。

  4. 话虽如此,看起来PhoneGap或多或少像开发WebApp一样,在这种情况下,您会发现Android Web Apps articles很有帮助。

    编辑(因为格式化问题导致对第一条评论的回复):

    不,除了指定您支持的内容之外,AndroidManifest中没有任何变化:

    <supports-screens
      android:smallScreens="true"
      android:normalScreens="true"
      android:largeScreens="true"
      android:xlargeScreens="true"
      android:anyDensity="true" />
    

    对于CSS,您可以specify styles based on density或使用标准百分比,测量值等。

答案 1 :(得分:1)

我已经开始在清单中使用以下内容,以便我的应用可以在任何尺寸上运行:

<supports-screens 
android:smallScreens="true"                   
android:normalScreens="true"                   
android:largeScreens="true"                   
android:anyDensity="true" />
<uses-sdk android:minSdkVersion="4"></uses-sdk>